/* 全局样式重置 */
* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

html, body {
  height: 100%;
  font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial,
    'Noto Sans', sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol', 'Noto Color Emoji';
  font-size: 14px;
  line-height: 1.6;
  color: rgba(0, 0, 0, 0.88);
  background-color: #f8fafc;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-rendering: optimizeLegibility;
}

#root {
  height: 100%;
  position: relative;
}

/* 现代化动画 */
@keyframes fadeIn {
  from {
    opacity: 0;
    transform: translateY(10px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@keyframes slideInRight {
  from {
    opacity: 0;
    transform: translateX(20px);
  }
  to {
    opacity: 1;
    transform: translateX(0);
  }
}

@keyframes pulse {
  0%, 100% {
    opacity: 1;
  }
  50% {
    opacity: 0.8;
  }
}

@keyframes shimmer {
  0% {
    background-position: -200px 0;
  }
  100% {
    background-position: calc(200px + 100%) 0;
  }
}

/* 页面加载动画 */
.page-enter {
  animation: fadeIn 0.4s ease-out;
}

.card-enter {
  animation: slideInRight 0.3s ease-out;
}

/* 悬浮效果 */
.hover-lift {
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

.hover-lift:hover {
  transform: translateY(-2px);
  box-shadow: 0 8px 25px rgba(0, 0, 0, 0.15);
}

/* 表格行悬浮效果优化 - 避免滚动条出现 */
.ant-table-tbody > tr {
  transition: background-color 0.2s ease !important;
}

.ant-table-tbody > tr:hover > td {
  transform: none !important;
  scale: none !important;
}

/* 表格容器优化 */
.ant-table-wrapper {
  overflow: hidden !important;
}

.ant-table {
  overflow: hidden !important;
}

.ant-table-container {
  overflow-x: auto !important;
  overflow-y: hidden !important;
}

/* 现代化滚动条样式 */
::-webkit-scrollbar {
  width: 8px;
  height: 8px;
}

::-webkit-scrollbar-track {
  background: rgba(0, 0, 0, 0.05);
  border-radius: 4px;
}

::-webkit-scrollbar-thumb {
  background: linear-gradient(180deg, #cbd5e1, #94a3b8);
  border-radius: 4px;
  transition: all 0.3s ease;
}

::-webkit-scrollbar-thumb:hover {
  background: linear-gradient(180deg, #94a3b8, #64748b);
  transform: scale(1.1);
}

::-webkit-scrollbar-corner {
  background: transparent;
}

/* 现代化链接样式 */
a {
  color: #4f46e5;
  text-decoration: none;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  position: relative;
}

a:hover {
  color: #6366f1;
  transform: translateY(-1px);
}

a::after {
  content: '';
  position: absolute;
  width: 0;
  height: 2px;
  bottom: -2px;
  left: 0;
  background: linear-gradient(90deg, #4f46e5, #6366f1);
  transition: width 0.3s ease;
}

a:hover::after {
  width: 100%;
}

/* 现代化表格样式 */
.ant-table {
  border-radius: 12px !important;
  overflow: hidden;
  box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);
}

.ant-table-thead > tr > th {
  background: linear-gradient(135deg, #f8fafc 0%, #f1f5f9 100%) !important;
  font-weight: 600;
  border: none !important;
  color: #475569 !important;
  font-size: 13px;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}

.ant-table-tbody > tr {
  transition: all 0.3s ease;
}

.ant-table-tbody > tr:hover {
  transform: scale(1.01);
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
}

/* 现代化卡片样式 */
.ant-card {
  border-radius: 16px !important;
  border: 1px solid rgba(0, 0, 0, 0.06) !important;
  box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.1), 0 1px 2px 0 rgba(0, 0, 0, 0.06) !important;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  backdrop-filter: blur(10px);
  background: rgba(255, 255, 255, 0.95) !important;
}

.ant-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04) !important;
  border-color: rgba(79, 70, 229, 0.2) !important;
}

.ant-card-head {
  border-bottom: 1px solid rgba(0, 0, 0, 0.06) !important;
  background: linear-gradient(135deg, rgba(255, 255, 255, 0.9) 0%, rgba(248, 250, 252, 0.9) 100%) !important;
}

.ant-card-head-title {
  font-weight: 600 !important;
  color: #1e293b !important;
  font-size: 16px !important;
}

/* 现代化按钮样式 */
.ant-btn {
  border-radius: 10px !important;
  font-weight: 500 !important;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1) !important;
  box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.1), 0 1px 2px 0 rgba(0, 0, 0, 0.06) !important;
  height: 40px !important;
  padding: 0 20px !important;
}

.ant-btn:hover {
  transform: translateY(-2px) !important;
  box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06) !important;
}

.ant-btn-primary {
  background: linear-gradient(135deg, #4f46e5 0%, #6366f1 100%) !important;
  border: none !important;
}

.ant-btn-primary:hover {
  background: linear-gradient(135deg, #6366f1 0%, #8b5cf6 100%) !important;
}

/* 现代化输入框样式 - 统一所有输入框类型 */
.ant-input,
.ant-input-affix-wrapper,
.ant-select-selector {
  border-radius: 10px !important;
  border: 2px solid #e2e8f0 !important;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1) !important;
  box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.1), 0 1px 2px 0 rgba(0, 0, 0, 0.06) !important;
  height: 40px !important;
}

.ant-input:focus,
.ant-input-affix-wrapper:focus,
.ant-input-affix-wrapper-focused,
.ant-select-selector:focus,
.ant-select-focused .ant-select-selector {
  border-color: #4f46e5 !important;
  box-shadow: 0 0 0 3px rgba(79, 70, 229, 0.1) !important;
  transform: translateY(-1px) !important;
}

/* 确保带前缀/后缀的输入框内部input元素样式一致 */
.ant-input-affix-wrapper > input.ant-input {
  border: none !important;
  box-shadow: none !important;
  height: auto !important;
  background: transparent !important;
}

/* 深色主题样式 */
html.dark-theme,
body.dark-theme {
  background-color: #000000 !important;
  color: rgba(255, 255, 255, 0.85) !important;
}

body.dark-theme #root {
  background-color: #000000;
}

body.dark-theme .ant-layout {
  background-color: #000000 !important;
}

body.dark-theme .ant-layout-content {
  background-color: #000000 !important;
}

body.dark-theme .ant-card {
  background-color: #141414 !important;
  border-color: #303030 !important;
}

body.dark-theme .ant-table {
  background-color: #141414 !important;
}

body.dark-theme .ant-table-thead > tr > th {
  background-color: #1f1f1f !important;
  border-color: #303030 !important;
  color: rgba(255, 255, 255, 0.85) !important;
}

body.dark-theme .ant-table-tbody > tr > td {
  border-color: #303030 !important;
  background-color: #141414 !important;
  color: rgba(255, 255, 255, 0.85) !important;
}

body.dark-theme .ant-table-tbody > tr:hover > td {
  background-color: #1f1f1f !important;
}

/* 极简现代主题样式 (默认) */
body:not(.dark-theme):not(.purple-theme):not(.green-theme) {
  background: #f2f2f7 !important;
}

body:not(.dark-theme):not(.purple-theme):not(.green-theme) .ant-card {
  background: rgba(255, 255, 255, 0.8) !important;
  border: 1px solid rgba(0, 0, 0, 0.05) !important;
  border-radius: 16px !important;
  backdrop-filter: blur(20px) !important;
  box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.12), 0 1px 2px 0 rgba(0, 0, 0, 0.24) !important;
}

body:not(.dark-theme):not(.purple-theme):not(.green-theme) .ant-card:hover {
  transform: translateY(-2px) !important;
  box-shadow: 0 4px 6px 0 rgba(0, 0, 0, 0.16), 0 4px 6px 0 rgba(0, 0, 0, 0.23) !important;
}

body:not(.dark-theme):not(.purple-theme):not(.green-theme) .ant-btn {
  border-radius: 12px !important;
  font-weight: 600 !important;
  height: 44px !important;
  padding: 0 24px !important;
}

body:not(.dark-theme):not(.purple-theme):not(.green-theme) .ant-btn-primary {
  background: linear-gradient(135deg, #007AFF 0%, #5AC8FA 100%) !important;
  border: none !important;
  box-shadow: 0 2px 4px rgba(0, 122, 255, 0.3) !important;
}

body:not(.dark-theme):not(.purple-theme):not(.green-theme) .ant-btn-primary:hover {
  background: linear-gradient(135deg, #5AC8FA 0%, #007AFF 100%) !important;
  transform: translateY(-1px) !important;
  box-shadow: 0 4px 8px rgba(0, 122, 255, 0.4) !important;
}

body:not(.dark-theme):not(.purple-theme):not(.green-theme) .ant-input,
body:not(.dark-theme):not(.purple-theme):not(.green-theme) .ant-input-affix-wrapper,
body:not(.dark-theme):not(.purple-theme):not(.green-theme) .ant-select-selector {
  background: rgba(255, 255, 255, 0.8) !important;
  border: 2px solid #d1d1d6 !important;
  border-radius: 12px !important;
  height: 44px !important;
  backdrop-filter: blur(10px) !important;
}

body:not(.dark-theme):not(.purple-theme):not(.green-theme) .ant-input:focus,
body:not(.dark-theme):not(.purple-theme):not(.green-theme) .ant-input-affix-wrapper:focus,
body:not(.dark-theme):not(.purple-theme):not(.green-theme) .ant-input-affix-wrapper-focused,
body:not(.dark-theme):not(.purple-theme):not(.green-theme) .ant-select-focused .ant-select-selector {
  border-color: #007AFF !important;
  box-shadow: 0 0 0 3px rgba(0, 122, 255, 0.1) !important;
}

/* 浅色主题带前缀/后缀输入框内部样式 */
body:not(.dark-theme):not(.purple-theme):not(.green-theme) .ant-input-affix-wrapper > input.ant-input {
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
}

body:not(.dark-theme):not(.purple-theme):not(.green-theme) .ant-menu-item {
  border-radius: 12px !important;
  margin: 4px 8px !important;
  font-weight: 500 !important;
}

body:not(.dark-theme):not(.purple-theme):not(.green-theme) .ant-menu-item:hover {
  background: rgba(0, 122, 255, 0.05) !important;
}

body:not(.dark-theme):not(.purple-theme):not(.green-theme) .ant-menu-item-selected {
  background: rgba(0, 122, 255, 0.1) !important;
  color: #007AFF !important;
  font-weight: 600 !important;
}

/* 确保整个页面背景都改变 */
body.dark-theme,
body.dark-theme * {
  scrollbar-color: #303030 #141414;
}

/* 专业深色主题样式 */
body.dark-theme {
  background: #0f172a !important;
  color: #f1f5f9 !important;
}

body.dark-theme .ant-card {
  background: linear-gradient(135deg, rgba(30, 41, 59, 0.95) 0%, rgba(51, 65, 85, 0.95) 100%) !important;
  border: 1px solid rgba(71, 85, 105, 0.3) !important;
  box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.3), 0 2px 4px -1px rgba(0, 0, 0, 0.2) !important;
  backdrop-filter: blur(10px) !important;
  color: #f1f5f9 !important;
}

body.dark-theme .ant-card .ant-card-head-title {
  color: #f1f5f9 !important;
}

body.dark-theme .ant-card:hover {
  transform: translateY(-2px) !important;
  box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.3), 0 4px 6px -2px rgba(0, 0, 0, 0.2) !important;
  border-color: rgba(59, 130, 246, 0.4) !important;
}

body.dark-theme .ant-btn-primary {
  background: linear-gradient(135deg, #3b82f6 0%, #1d4ed8 100%) !important;
  border: none !important;
  color: #ffffff !important;
  font-weight: 500 !important;
  box-shadow: 0 2px 4px rgba(59, 130, 246, 0.3) !important;
}

body.dark-theme .ant-btn-primary:hover {
  background: linear-gradient(135deg, #1d4ed8 0%, #1e40af 100%) !important;
  transform: translateY(-1px) !important;
  box-shadow: 0 4px 8px rgba(59, 130, 246, 0.4) !important;
}

body.dark-theme .ant-btn {
  color: #f1f5f9 !important;
  border-color: rgba(71, 85, 105, 0.5) !important;
}

body.dark-theme .ant-btn:hover {
  color: #93c5fd !important;
  border-color: rgba(59, 130, 246, 0.5) !important;
}

body.dark-theme .ant-input,
body.dark-theme .ant-input-affix-wrapper,
body.dark-theme .ant-select-selector {
  background: rgba(30, 41, 59, 0.8) !important;
  border: 1px solid rgba(71, 85, 105, 0.5) !important;
  color: #f1f5f9 !important;
}

body.dark-theme .ant-input:focus,
body.dark-theme .ant-input-affix-wrapper:focus,
body.dark-theme .ant-input-affix-wrapper-focused,
body.dark-theme .ant-select-focused .ant-select-selector {
  border-color: #3b82f6 !important;
  box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.2) !important;
}

/* 暗色主题带前缀/后缀输入框内部样式 */
body.dark-theme .ant-input-affix-wrapper > input.ant-input {
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
  color: #f1f5f9 !important;
}

body.dark-theme .ant-menu-item {
  color: #cbd5e1 !important;
  border-radius: 8px !important;
  margin: 4px 8px !important;
}

body.dark-theme .ant-menu-item:hover {
  background: rgba(59, 130, 246, 0.08) !important;
  color: #93c5fd !important;
}

body.dark-theme .ant-menu-item-selected {
  background: rgba(59, 130, 246, 0.15) !important;
  color: #93c5fd !important;
  border-right: 3px solid #3b82f6 !important;
}

/* 专业深色文字效果 */
body.dark-theme h1,
body.dark-theme h2,
body.dark-theme h3,
body.dark-theme h4,
body.dark-theme h5,
body.dark-theme h6 {
  color: #f1f5f9 !important;
  font-weight: 600 !important;
}

body.dark-theme .ant-typography {
  color: #f1f5f9 !important;
}

body.dark-theme .ant-statistic-content-value {
  color: #f1f5f9 !important;
}

body.dark-theme .ant-statistic-title {
  color: #cbd5e1 !important;
}

/* 表格样式 */
body.dark-theme .ant-table {
  background: rgba(30, 41, 59, 0.8) !important;
  color: #f1f5f9 !important;
}

body.dark-theme .ant-table-thead > tr > th {
  background: rgba(51, 65, 85, 0.8) !important;
  color: #f1f5f9 !important;
  border-color: rgba(71, 85, 105, 0.3) !important;
}

body.dark-theme .ant-table-tbody > tr > td {
  background: rgba(30, 41, 59, 0.6) !important;
  color: #f1f5f9 !important;
  border-color: rgba(71, 85, 105, 0.3) !important;
}

body.dark-theme .ant-table-tbody > tr:hover > td {
  background: rgba(59, 130, 246, 0.1) !important;
}

/* 进度条 */
body.dark-theme .ant-progress-text {
  color: #f1f5f9 !important;
}

/* 标签 */
body.dark-theme .ant-tag {
  background: rgba(51, 65, 85, 0.8) !important;
  color: #f1f5f9 !important;
  border-color: rgba(71, 85, 105, 0.5) !important;
}

/* 确保所有文字在暗色主题下都有足够对比度 */
body.dark-theme,
body.dark-theme * {
  color: #f1f5f9 !important;
}

body.dark-theme .ant-card-head {
  background: rgba(51, 65, 85, 0.8) !important;
  border-color: rgba(71, 85, 105, 0.3) !important;
}

body.dark-theme .ant-descriptions-item-label {
  color: #cbd5e1 !important;
}

body.dark-theme .ant-descriptions-item-content {
  color: #f1f5f9 !important;
}

body.dark-theme .ant-select-selection-item {
  color: #f1f5f9 !important;
}

body.dark-theme .ant-select-selection-placeholder {
  color: #94a3b8 !important;
}

body.dark-theme .ant-input::placeholder {
  color: #94a3b8 !important;
}

/* 修复白色背景问题 */
body.dark-theme .ant-layout {
  background: #0f172a !important;
}

body.dark-theme .ant-layout-content {
  background: rgba(30, 41, 59, 0.5) !important;
}

body.dark-theme .ant-layout-sider {
  background: #1e293b !important;
}

body.dark-theme .ant-layout-header {
  background: #1e293b !important;
}

/* 新拟物主题样式 - 色彩增强版 */
body.purple-theme {
  background: linear-gradient(135deg, #e2e8f0 0%, #f1f5f9 25%, #faf5ff 50%, #fefce8 75%, #f0fdf4 100%) !important;
  min-height: 100vh;
  color: #0f172a !important;
}

/* 卡片组件增强 - 色彩丰富版 */
body.purple-theme .ant-card {
  background: linear-gradient(135deg, #fefbff 0%, #f8fafc 50%, #f1f5f9 100%) !important;
  border: 1px solid rgba(139, 92, 246, 0.08) !important;
  box-shadow: 8px 8px 16px rgba(139, 92, 246, 0.08), -8px -8px 16px #ffffff,
              inset 0 0 0 1px rgba(255, 255, 255, 0.9) !important;
  border-radius: 28px !important;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1) !important;
  position: relative !important;
  overflow: hidden !important;
}

/* 卡片悬停效果 - 增强色彩反馈 */
body.purple-theme .ant-card:hover {
  box-shadow: 12px 12px 24px rgba(139, 92, 246, 0.12), -12px -12px 24px #ffffff,
              inset 0 0 0 1px rgba(255, 255, 255, 0.95),
              0 0 0 2px rgba(91, 33, 182, 0.1) !important;
  transform: translateY(-2px) !important;
  border-color: rgba(139, 92, 246, 0.15) !important;
}

/* 卡片内容区域 */
body.purple-theme .ant-card-body {
  position: relative !important;
  z-index: 1 !important;
  color: #0f172a !important;
}

/* 卡片标题增强 */
body.purple-theme .ant-card-head-title {
  color: #0f172a !important;
  font-weight: 600 !important;
}

/* 卡片背景装饰 - 增加色彩层次 */
body.purple-theme .ant-card::before {
  content: '' !important;
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  bottom: 0 !important;
  background: linear-gradient(135deg,
    rgba(91, 33, 182, 0.02) 0%,
    rgba(124, 58, 237, 0.01) 50%,
    rgba(255, 255, 255, 0.05) 100%) !important;
  pointer-events: none !important;
  z-index: 0 !important;
}

body.purple-theme .ant-card:hover {
  box-shadow: 16px 16px 32px #d1d9e6, -16px -16px 32px #ffffff !important;
  transform: translateY(-2px) !important;
}

/* 按钮组件增强 - 色彩丰富版 */
body.purple-theme .ant-btn {
  background: linear-gradient(135deg, #fefbff 0%, #f8fafc 50%, #f1f5f9 100%) !important;
  border: 1px solid rgba(139, 92, 246, 0.08) !important;
  box-shadow: 4px 4px 8px rgba(139, 92, 246, 0.06), -4px -4px 8px #ffffff,
              inset 0 0 0 1px rgba(255, 255, 255, 0.9) !important;
  border-radius: 20px !important;
  color: #0f172a !important;
  font-weight: 500 !important;
  transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1) !important;
  position: relative !important;
  overflow: hidden !important;
}

/* 按钮悬停效果 - 增强色彩反馈 */
body.purple-theme .ant-btn:hover {
  background: linear-gradient(135deg, #ffffff 0%, #fefbff 50%, #f8fafc 100%) !important;
  box-shadow: 6px 6px 12px rgba(139, 92, 246, 0.08), -6px -6px 12px #ffffff,
              inset 0 0 0 1px rgba(255, 255, 255, 0.95),
              0 0 0 2px rgba(91, 33, 182, 0.08) !important;
  color: #5b21b6 !important;
  transform: translateY(-1px) !important;
  border-color: rgba(139, 92, 246, 0.15) !important;
}

/* 按钮按下效果 */
body.purple-theme .ant-btn:active {
  box-shadow: inset 3px 3px 6px rgba(139, 92, 246, 0.08), inset -3px -3px 6px #ffffff !important;
  transform: translateY(0) !important;
}

/* 主要按钮样式 - 更深更饱和的紫色 */
body.purple-theme .ant-btn-primary {
  background: linear-gradient(135deg, #5b21b6 0%, #7c3aed 50%, #8b5cf6 100%) !important;
  color: #ffffff !important;
  border: 1px solid rgba(91, 33, 182, 0.2) !important;
  box-shadow: 4px 4px 8px rgba(91, 33, 182, 0.15), -4px -4px 8px #ffffff,
              0 0 0 1px rgba(91, 33, 182, 0.1),
              inset 0 1px 0 rgba(255, 255, 255, 0.2) !important;
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.1) !important;
}

body.purple-theme .ant-btn-primary:hover {
  background: linear-gradient(135deg, #4c1d95 0%, #6d28d9 50%, #7c3aed 100%) !important;
  box-shadow: 6px 6px 12px rgba(91, 33, 182, 0.2), -6px -6px 12px #ffffff,
              0 0 20px rgba(91, 33, 182, 0.3),
              inset 0 1px 0 rgba(255, 255, 255, 0.25) !important;
  transform: translateY(-1px) !important;
  border-color: rgba(76, 29, 149, 0.3) !important;
}

body.purple-theme .ant-btn-primary:active {
  box-shadow: inset 2px 2px 4px rgba(76, 29, 149, 0.4), inset -2px -2px 4px rgba(124, 58, 237, 0.2) !important;
  transform: translateY(0) !important;
}

/* 危险按钮样式 */
body.purple-theme .ant-btn-dangerous {
  background: linear-gradient(135deg, #dc2626 0%, #ef4444 50%, #f87171 100%) !important;
  color: #ffffff !important;
  border: 1px solid rgba(220, 38, 38, 0.2) !important;
  box-shadow: 4px 4px 8px rgba(220, 38, 38, 0.15), -4px -4px 8px #ffffff !important;
}

body.purple-theme .ant-btn-dangerous:hover {
  background: linear-gradient(135deg, #b91c1c 0%, #dc2626 50%, #ef4444 100%) !important;
  box-shadow: 6px 6px 12px rgba(220, 38, 38, 0.2), -6px -6px 12px #ffffff,
              0 0 20px rgba(220, 38, 38, 0.3) !important;
}

/* 输入框组件增强 - 色彩丰富版 */
body.purple-theme .ant-input,
body.purple-theme .ant-input-affix-wrapper,
body.purple-theme .ant-select-selector {
  background: linear-gradient(135deg, #ffffff 0%, #fefbff 50%, #f8fafc 100%) !important;
  border: 1px solid rgba(139, 92, 246, 0.08) !important;
  box-shadow: inset 3px 3px 6px rgba(139, 92, 246, 0.04), inset -3px -3px 6px #ffffff,
              0 0 0 1px rgba(255, 255, 255, 0.9) !important;
  border-radius: 16px !important;
  color: #0f172a !important;
  transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1) !important;
}

/* 输入框聚焦效果 - 增强紫色高光 */
body.purple-theme .ant-input:focus,
body.purple-theme .ant-input-affix-wrapper:focus,
body.purple-theme .ant-input-affix-wrapper-focused,
body.purple-theme .ant-select-focused .ant-select-selector {
  box-shadow: inset 4px 4px 8px rgba(139, 92, 246, 0.06), inset -4px -4px 8px #ffffff,
              0 0 0 2px rgba(91, 33, 182, 0.2),
              0 0 8px rgba(91, 33, 182, 0.1) !important;
  background: linear-gradient(135deg, #f8fafc 0%, #ffffff 50%, #fefbff 100%) !important;
  border-color: rgba(91, 33, 182, 0.3) !important;
}

/* 输入框悬停效果 */
body.purple-theme .ant-input:hover,
body.purple-theme .ant-input-affix-wrapper:hover,
body.purple-theme .ant-select-selector:hover {
  border-color: rgba(139, 92, 246, 0.15) !important;
  box-shadow: inset 3px 3px 6px rgba(139, 92, 246, 0.06), inset -3px -3px 6px #ffffff,
              0 0 0 1px rgba(255, 255, 255, 0.95) !important;
}

/* 输入框占位符样式 */
body.purple-theme .ant-input::placeholder,
body.purple-theme .ant-input-affix-wrapper input::placeholder {
  color: #94a3b8 !important;
  font-weight: 400 !important;
}

/* 新拟物主题带前缀/后缀输入框内部样式 */
body.purple-theme .ant-input-affix-wrapper > input.ant-input {
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
  color: #0f172a !important;
}

/* 输入框前缀后缀图标 - 使用更深的紫色 */
body.purple-theme .ant-input-prefix,
body.purple-theme .ant-input-suffix {
  color: #5b21b6 !important;
}

/* 选择框选项样式 */
body.purple-theme .ant-select-dropdown {
  background: linear-gradient(135deg, #fefbff 0%, #f8fafc 100%) !important;
  border: 1px solid rgba(139, 92, 246, 0.08) !important;
  box-shadow: 8px 8px 16px rgba(139, 92, 246, 0.08), -8px -8px 16px #ffffff !important;
}

body.purple-theme .ant-select-item-option-selected {
  background: linear-gradient(135deg, #ddd6fe 0%, #e0e7ff 100%) !important;
  color: #5b21b6 !important;
  font-weight: 500 !important;
}

body.purple-theme .ant-select-item-option-active {
  background: linear-gradient(135deg, #f3e8ff 0%, #faf5ff 100%) !important;
}

/* 菜单组件增强 - 色彩丰富版 */
body.purple-theme .ant-menu-item {
  background: transparent !important;
  border-radius: 20px !important;
  margin: 8px 12px !important;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1) !important;
  position: relative !important;
  overflow: hidden !important;
  color: #334155 !important;
}

/* 菜单项悬停效果 - 增强色彩反馈 */
body.purple-theme .ant-menu-item:hover {
  background: linear-gradient(135deg, #ffffff 0%, #fefbff 50%, #f8fafc 100%) !important;
  box-shadow: 3px 3px 6px rgba(139, 92, 246, 0.06), -3px -3px 6px #ffffff,
              inset 0 0 0 1px rgba(255, 255, 255, 0.9) !important;
  color: #5b21b6 !important;
  transform: translateX(2px) !important;
  border: 1px solid rgba(139, 92, 246, 0.08) !important;
}

/* 菜单项选中效果 - 更明显的紫色区分（增强版）*/
body.purple-theme .ant-menu-item-selected {
  background: linear-gradient(135deg, #ddd6fe 0%, #e0e7ff 50%, #f3e8ff 100%) !important;
  box-shadow: inset 3px 3px 6px rgba(139, 92, 246, 0.12), inset -3px -3px 6px #ffffff,
              0 0 0 2px rgba(91, 33, 182, 0.2),
              0 0 12px rgba(91, 33, 182, 0.15) !important;
  color: #5b21b6 !important;
  font-weight: 600 !important;
  border: 1px solid rgba(91, 33, 182, 0.25) !important;
  transform: translateX(4px) !important;
}

/* 确保选中状态在悬停时保持 */
body.purple-theme .ant-menu-item-selected:hover {
  background: linear-gradient(135deg, #c4b5fd 0%, #ddd6fe 50%, #e0e7ff 100%) !important;
  box-shadow: inset 3px 3px 6px rgba(139, 92, 246, 0.15), inset -3px -3px 6px #ffffff,
              0 0 0 2px rgba(91, 33, 182, 0.25),
              0 0 15px rgba(91, 33, 182, 0.2) !important;
  color: #4c1d95 !important;
  border-color: rgba(91, 33, 182, 0.3) !important;
  transform: translateX(4px) !important;
}

/* 菜单项激活效果 */
body.purple-theme .ant-menu-item-active {
  background: linear-gradient(135deg, #e0e7ff 0%, #ddd6fe 100%) !important;
  color: #4c1d95 !important;
}

/* 菜单项图标 - 增强色彩 */
body.purple-theme .ant-menu-item .anticon {
  color: inherit !important;
  transition: all 0.2s ease !important;
}

body.purple-theme .ant-menu-item-selected .anticon {
  color: #5b21b6 !important;
}

/* 菜单项背景装饰 - 增加色彩层次 */
body.purple-theme .ant-menu-item::before {
  content: '' !important;
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  bottom: 0 !important;
  background: linear-gradient(135deg,
    rgba(91, 33, 182, 0.02) 0%,
    rgba(124, 58, 237, 0.01) 50%,
    rgba(255, 255, 255, 0.05) 100%) !important;
  opacity: 0 !important;
  transition: opacity 0.3s ease !important;
  pointer-events: none !important;
}

body.purple-theme .ant-menu-item:hover::before {
  opacity: 1 !important;
}

/* 子菜单样式 */
body.purple-theme .ant-menu-submenu-title {
  color: #334155 !important;
  border-radius: 20px !important;
  margin: 8px 12px !important;
}

body.purple-theme .ant-menu-submenu-title:hover {
  background: linear-gradient(135deg, #ffffff 0%, #fefbff 50%, #f8fafc 100%) !important;
  color: #5b21b6 !important;
}

/* 自然绿色主题样式 */
body.green-theme {
  background: #f0fdf4 !important;
  color: #064e3b !important;
}

body.green-theme .ant-card {
  background: linear-gradient(135deg, rgba(255, 255, 255, 0.95) 0%, rgba(240, 253, 244, 0.95) 100%) !important;
  border: 1px solid rgba(187, 247, 208, 0.5) !important;
  box-shadow: 0 1px 3px 0 rgba(5, 150, 105, 0.1), 0 1px 2px 0 rgba(5, 150, 105, 0.06) !important;
  backdrop-filter: blur(10px) !important;
}

body.green-theme .ant-card:hover {
  transform: translateY(-2px) !important;
  box-shadow: 0 4px 6px -1px rgba(5, 150, 105, 0.1), 0 2px 4px -1px rgba(5, 150, 105, 0.06) !important;
  border-color: rgba(5, 150, 105, 0.3) !important;
}

body.green-theme .ant-btn-primary {
  background: linear-gradient(135deg, #059669 0%, #047857 100%) !important;
  border: none !important;
  color: #ffffff !important;
  font-weight: 500 !important;
  box-shadow: 0 2px 4px rgba(5, 150, 105, 0.3) !important;
}

body.green-theme .ant-btn-primary:hover {
  background: linear-gradient(135deg, #047857 0%, #065f46 100%) !important;
  transform: translateY(-1px) !important;
  box-shadow: 0 4px 8px rgba(5, 150, 105, 0.4) !important;
}

body.green-theme .ant-input,
body.green-theme .ant-input-affix-wrapper,
body.green-theme .ant-select-selector {
  background: rgba(255, 255, 255, 0.8) !important;
  border: 1px solid rgba(187, 247, 208, 0.8) !important;
  color: #064e3b !important;
}

body.green-theme .ant-input:focus,
body.green-theme .ant-input-affix-wrapper:focus,
body.green-theme .ant-input-affix-wrapper-focused,
body.green-theme .ant-select-focused .ant-select-selector {
  border-color: #059669 !important;
  box-shadow: 0 0 0 3px rgba(5, 150, 105, 0.1) !important;
}

/* 自然绿主题带前缀/后缀输入框内部样式 */
body.green-theme .ant-input-affix-wrapper > input.ant-input {
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
  color: #064e3b !important;
}

body.green-theme .ant-menu-item {
  color: #047857 !important;
  border-radius: 8px !important;
  margin: 4px 8px !important;
}

body.green-theme .ant-menu-item:hover {
  background: rgba(5, 150, 105, 0.05) !important;
  color: #059669 !important;
}

body.green-theme .ant-menu-item-selected {
  background: rgba(5, 150, 105, 0.1) !important;
  color: #059669 !important;
  border-right: 3px solid #059669 !important;
}

/* 自然绿色文字效果 */
body.green-theme h1,
body.green-theme h2,
body.green-theme h3 {
  color: #064e3b !important;
  font-weight: 600 !important;
}

/* 科技蓝主题样式 */
body.tech-theme {
  background: #0a0e13 !important;
  color: #e2e8f0 !important;
}

body.tech-theme .ant-card {
  background: linear-gradient(135deg, rgba(0, 20, 40, 0.9) 0%, rgba(0, 30, 60, 0.9) 100%) !important;
  border: 2px solid transparent !important;
  background-clip: padding-box !important;
  box-shadow:
    0 0 20px rgba(14, 165, 233, 0.3),
    inset 0 1px 0 rgba(14, 165, 233, 0.2),
    0 4px 6px -1px rgba(0, 0, 0, 0.6) !important;
  position: relative !important;
  overflow: hidden !important;
  color: #ffffff !important;
}

/* 科技卡片多层边框动画 */
body.tech-theme .ant-card::before {
  content: '';
  position: absolute;
  top: -3px;
  left: -3px;
  right: -3px;
  bottom: -3px;
  background: linear-gradient(45deg,
    #0ea5e9, #3b82f6, #6366f1, #8b5cf6, #0ea5e9
  );
  background-size: 400% 400%;
  border-radius: inherit;
  z-index: -1;
  animation: border-rainbow 6s ease-in-out infinite, border-pulse 3s ease-in-out infinite alternate;
  filter: blur(1px);
}

body.tech-theme .ant-card::after {
  content: '';
  position: absolute;
  top: -1px;
  left: -1px;
  right: -1px;
  bottom: -1px;
  background: linear-gradient(90deg,
    transparent,
    rgba(14, 165, 233, 0.8),
    rgba(59, 130, 246, 0.8),
    rgba(99, 102, 241, 0.8),
    transparent
  );
  background-size: 200% 100%;
  border-radius: inherit;
  z-index: -1;
  animation: border-scan 4s linear infinite;
}

/* 科技卡片内部多重光效 */
body.tech-theme .ant-card {
  position: relative;
  overflow: hidden;
}

body.tech-theme .ant-card .ant-card-body::before {
  content: '';
  position: absolute;
  top: 0;
  left: -100%;
  width: 100%;
  height: 100%;
  background: linear-gradient(90deg,
    transparent,
    rgba(14, 165, 233, 0.2),
    rgba(255, 255, 255, 0.1),
    rgba(14, 165, 233, 0.2),
    transparent
  );
  animation: scan-line 4s ease-in-out infinite;
  z-index: 1;
  pointer-events: none;
}

body.tech-theme .ant-card .ant-card-body::after {
  content: '';
  position: absolute;
  top: -50%;
  left: -50%;
  width: 200%;
  height: 200%;
  background: radial-gradient(circle,
    rgba(14, 165, 233, 0.1) 0%,
    transparent 70%
  );
  animation: rotate-glow 8s linear infinite;
  z-index: 0;
  pointer-events: none;
}

@keyframes border-rainbow {
  0%, 100% { background-position: 0% 50%; }
  50% { background-position: 100% 50%; }
}

@keyframes border-pulse {
  0% { transform: scale(1); opacity: 0.8; }
  100% { transform: scale(1.02); opacity: 1; }
}

@keyframes border-scan {
  0% { background-position: -200% 0; }
  100% { background-position: 200% 0; }
}

@keyframes scan-line {
  0% { left: -100%; opacity: 0; }
  50% { opacity: 1; }
  100% { left: 100%; opacity: 0; }
}

@keyframes rotate-glow {
  0% { transform: rotate(0deg); }
  100% { transform: rotate(360deg); }
}

body.tech-theme .ant-card .ant-card-head-title {
  color: #ffffff !important;
  text-shadow: 0 0 10px rgba(14, 165, 233, 0.8) !important;
}

body.tech-theme .ant-card::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(14, 165, 233, 0.6), transparent);
  animation: tech-glow 2s ease-in-out infinite alternate;
}

@keyframes tech-glow {
  0% { opacity: 0.3; }
  100% { opacity: 1; }
}

body.tech-theme .ant-card:hover {
  transform: translateY(-1px) !important;
  border-color: rgba(14, 165, 233, 0.4) !important;
  box-shadow: 0 0 0 1px rgba(14, 165, 233, 0.2), 0 8px 12px -2px rgba(0, 0, 0, 0.5) !important;
}

body.tech-theme .ant-btn-primary {
  background: linear-gradient(135deg, #0ea5e9 0%, #3b82f6 100%) !important;
  border: 2px solid rgba(14, 165, 233, 0.5) !important;
  color: #ffffff !important;
  font-weight: 600 !important;
  text-transform: uppercase !important;
  letter-spacing: 1px !important;
  box-shadow:
    0 0 15px rgba(14, 165, 233, 0.4),
    inset 0 1px 0 rgba(255, 255, 255, 0.2) !important;
  position: relative !important;
  overflow: hidden !important;
}

/* 科技按钮多重特效 */
body.tech-theme .ant-btn-primary::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: linear-gradient(45deg,
    rgba(14, 165, 233, 0.3),
    rgba(59, 130, 246, 0.3),
    rgba(99, 102, 241, 0.3),
    rgba(14, 165, 233, 0.3)
  );
  background-size: 400% 400%;
  border-radius: inherit;
  opacity: 0;
  transition: opacity 0.3s ease;
  animation: gradient-shift 5s ease-in-out infinite;
}

body.tech-theme .ant-btn-primary::after {
  content: '';
  position: absolute;
  top: 50%;
  left: 50%;
  width: 0;
  height: 0;
  background: radial-gradient(circle,
    rgba(255, 255, 255, 0.4) 0%,
    rgba(14, 165, 233, 0.2) 50%,
    transparent 100%
  );
  border-radius: 50%;
  transform: translate(-50%, -50%);
  transition: all 0.6s cubic-bezier(0.4, 0, 0.2, 1);
  pointer-events: none;
}

body.tech-theme .ant-btn-primary:hover::before {
  opacity: 1;
}

body.tech-theme .ant-btn-primary:hover::after {
  width: 200px;
  height: 200px;
}

body.tech-theme .ant-btn-primary:active::after {
  width: 300px;
  height: 300px;
  background: radial-gradient(circle,
    rgba(255, 255, 255, 0.6) 0%,
    rgba(14, 165, 233, 0.4) 30%,
    transparent 70%
  );
}

body.tech-theme .ant-btn-primary:hover {
  background: linear-gradient(135deg, #3b82f6 0%, #6366f1 100%) !important;
  box-shadow:
    0 0 30px rgba(14, 165, 233, 1),
    0 0 60px rgba(59, 130, 246, 0.6),
    0 0 90px rgba(99, 102, 241, 0.3),
    inset 0 0 20px rgba(255, 255, 255, 0.1) !important;
  transform: translateY(-3px) scale(1.05) !important;
  border-color: rgba(14, 165, 233, 1) !important;
  animation: button-pulse 1s ease-in-out infinite alternate;
}

@keyframes gradient-shift {
  0%, 100% { background-position: 0% 50%; }
  50% { background-position: 100% 50%; }
}

@keyframes button-pulse {
  0% { box-shadow:
    0 0 30px rgba(14, 165, 233, 1),
    0 0 60px rgba(59, 130, 246, 0.6),
    0 0 90px rgba(99, 102, 241, 0.3); }
  100% { box-shadow:
    0 0 40px rgba(14, 165, 233, 1),
    0 0 80px rgba(59, 130, 246, 0.8),
    0 0 120px rgba(99, 102, 241, 0.5); }
}

body.tech-theme .ant-input,
body.tech-theme .ant-input-affix-wrapper,
body.tech-theme .ant-select-selector {
  background: linear-gradient(135deg,
    rgba(0, 20, 40, 0.9) 0%,
    rgba(0, 30, 60, 0.9) 50%,
    rgba(0, 40, 80, 0.9) 100%
  ) !important;
  border: 2px solid transparent !important;
  background-clip: padding-box !important;
  color: #ffffff !important;
  box-shadow:
    inset 0 2px 4px rgba(0, 0, 0, 0.5),
    0 0 12px rgba(14, 165, 233, 0.3),
    0 2px 4px rgba(0, 0, 0, 0.3) !important;
  position: relative !important;
  font-family: 'Courier New', monospace !important;
  transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1) !important;
}

/* 科技输入框边框动画 */
body.tech-theme .ant-input::before,
body.tech-theme .ant-select-selector::before {
  content: '';
  position: absolute;
  top: -2px;
  left: -2px;
  right: -2px;
  bottom: -2px;
  background: linear-gradient(45deg,
    #0ea5e9, #3b82f6, #6366f1, #8b5cf6, #0ea5e9
  );
  background-size: 400% 400%;
  border-radius: inherit;
  z-index: -1;
  opacity: 0.6;
  animation: input-border-flow 5s ease-in-out infinite;
}

/* 科技输入框内部光效 */
body.tech-theme .ant-input::after,
body.tech-theme .ant-select-selector::after {
  content: '';
  position: absolute;
  top: 0;
  left: -100%;
  width: 100%;
  height: 100%;
  background: linear-gradient(90deg,
    transparent,
    rgba(14, 165, 233, 0.3),
    rgba(255, 255, 255, 0.2),
    rgba(14, 165, 233, 0.3),
    transparent
  );
  transition: left 0.8s cubic-bezier(0.4, 0, 0.2, 1);
  pointer-events: none;
  z-index: 1;
}

body.tech-theme .ant-input:focus,
body.tech-theme .ant-input-affix-wrapper:focus,
body.tech-theme .ant-input-affix-wrapper-focused,
body.tech-theme .ant-select-focused .ant-select-selector {
  border-color: transparent !important;
  box-shadow:
    0 0 0 3px rgba(14, 165, 233, 0.4),
    0 0 25px rgba(14, 165, 233, 0.6),
    0 0 50px rgba(59, 130, 246, 0.3),
    inset 0 2px 4px rgba(0, 0, 0, 0.5),
    inset 0 0 20px rgba(14, 165, 233, 0.1) !important;
  background: linear-gradient(135deg,
    rgba(0, 30, 60, 1) 0%,
    rgba(0, 40, 80, 1) 50%,
    rgba(0, 50, 100, 1) 100%
  ) !important;
  transform: scale(1.02) !important;
  animation: input-focus-glow 2s ease-in-out infinite alternate;
}

/* 科技主题带前缀/后缀输入框内部样式 */
body.tech-theme .ant-input-affix-wrapper > input.ant-input {
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
  color: #ffffff !important;
}

body.tech-theme .ant-input:focus::before,
body.tech-theme .ant-select-focused .ant-select-selector::before {
  opacity: 1;
  animation: input-border-flow 1.5s ease-in-out infinite;
}

body.tech-theme .ant-input:focus::after,
body.tech-theme .ant-select-focused .ant-select-selector::after {
  left: 100%;
}

/* 科技输入框文字光效 */
body.tech-theme .ant-input {
  text-shadow: 0 0 5px rgba(14, 165, 233, 0.8) !important;
}

body.tech-theme .ant-input:focus {
  text-shadow: 0 0 10px rgba(14, 165, 233, 1) !important;
}

@keyframes input-border-flow {
  0%, 100% { background-position: 0% 50%; }
  50% { background-position: 100% 50%; }
}

@keyframes input-focus-glow {
  0% {
    box-shadow:
      0 0 0 3px rgba(14, 165, 233, 0.4),
      0 0 25px rgba(14, 165, 233, 0.6),
      0 0 50px rgba(59, 130, 246, 0.3),
      inset 0 2px 4px rgba(0, 0, 0, 0.5),
      inset 0 0 20px rgba(14, 165, 233, 0.1);
  }
  100% {
    box-shadow:
      0 0 0 4px rgba(14, 165, 233, 0.6),
      0 0 35px rgba(14, 165, 233, 0.8),
      0 0 70px rgba(59, 130, 246, 0.5),
      inset 0 2px 4px rgba(0, 0, 0, 0.5),
      inset 0 0 30px rgba(14, 165, 233, 0.2);
  }
}

body.tech-theme .ant-menu-item {
  color: #ffffff !important;
  border-radius: 6px !important;
  margin: 6px 8px !important;
  position: relative !important;
  overflow: hidden !important;
  border: 1px solid transparent !important;
  transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1) !important;
  background: linear-gradient(135deg,
    rgba(0, 20, 40, 0.3) 0%,
    rgba(0, 30, 60, 0.3) 100%
  ) !important;
}

/* 科技菜单项多层边框效果 */
body.tech-theme .ant-menu-item::before {
  content: '';
  position: absolute;
  top: -1px;
  left: -1px;
  right: -1px;
  bottom: -1px;
  background: linear-gradient(45deg,
    transparent,
    rgba(14, 165, 233, 0.6),
    rgba(59, 130, 246, 0.6),
    rgba(99, 102, 241, 0.6),
    transparent
  );
  background-size: 400% 400%;
  border-radius: inherit;
  opacity: 0;
  z-index: -1;
  transition: opacity 0.4s ease;
  animation: menu-border-flow 6s linear infinite;
}

/* 科技菜单项内部光效 */
body.tech-theme .ant-menu-item::after {
  content: '';
  position: absolute;
  top: 0;
  left: -100%;
  width: 100%;
  height: 100%;
  background: linear-gradient(90deg,
    transparent,
    rgba(14, 165, 233, 0.3),
    rgba(255, 255, 255, 0.2),
    rgba(14, 165, 233, 0.3),
    transparent
  );
  transition: left 0.6s cubic-bezier(0.4, 0, 0.2, 1);
  z-index: 1;
  pointer-events: none;
}

/* 科技菜单项粒子效果 */
body.tech-theme .ant-menu-item .ant-menu-title-content::before {
  content: '';
  position: absolute;
  top: 50%;
  left: 0;
  width: 4px;
  height: 4px;
  background: #0ea5e9;
  border-radius: 50%;
  transform: translateY(-50%);
  opacity: 0;
  transition: all 0.4s ease;
  box-shadow:
    0 0 6px #0ea5e9,
    0 0 12px #0ea5e9;
}

body.tech-theme .ant-menu-item:hover::before {
  opacity: 1;
}

body.tech-theme .ant-menu-item:hover::after {
  left: 100%;
}

body.tech-theme .ant-menu-item:hover .ant-menu-title-content::before {
  opacity: 1;
  animation: particle-move 2s ease-in-out infinite;
}

body.tech-theme .ant-menu-item:hover {
  color: #ffffff !important;
  background: linear-gradient(135deg,
    rgba(14, 165, 233, 0.2) 0%,
    rgba(59, 130, 246, 0.2) 100%
  ) !important;
  border-color: rgba(14, 165, 233, 0.6) !important;
  box-shadow:
    0 0 20px rgba(14, 165, 233, 0.4),
    inset 0 0 20px rgba(14, 165, 233, 0.1),
    0 4px 8px rgba(0, 0, 0, 0.3) !important;
  text-shadow: 0 0 10px rgba(14, 165, 233, 1) !important;
  transform: translateX(4px) !important;
}

body.tech-theme .ant-menu-item-selected {
  background: linear-gradient(135deg,
    rgba(14, 165, 233, 0.3) 0%,
    rgba(59, 130, 246, 0.3) 100%
  ) !important;
  color: #ffffff !important;
  border-right: 4px solid #0ea5e9 !important;
  border-color: rgba(14, 165, 233, 0.8) !important;
  box-shadow:
    0 0 25px rgba(14, 165, 233, 0.6),
    inset 0 0 25px rgba(14, 165, 233, 0.2),
    0 6px 12px rgba(0, 0, 0, 0.4) !important;
  text-shadow: 0 0 15px rgba(14, 165, 233, 1) !important;
  transform: translateX(6px) !important;
  animation: selected-glow 2s ease-in-out infinite alternate;
}

body.tech-theme .ant-menu-item-selected::before {
  opacity: 1;
}

body.tech-theme .ant-menu-item-selected .ant-menu-title-content::before {
  opacity: 1;
  animation: particle-move 1.5s ease-in-out infinite;
}

@keyframes menu-border-flow {
  0%, 100% { background-position: 0% 50%; }
  50% { background-position: 100% 50%; }
}

@keyframes particle-move {
  0%, 100% { transform: translateY(-50%) scale(1); }
  50% { transform: translateY(-50%) scale(1.5); }
}

@keyframes selected-glow {
  0% {
    box-shadow:
      0 0 25px rgba(14, 165, 233, 0.6),
      inset 0 0 25px rgba(14, 165, 233, 0.2),
      0 6px 12px rgba(0, 0, 0, 0.4);
  }
  100% {
    box-shadow:
      0 0 35px rgba(14, 165, 233, 0.8),
      inset 0 0 35px rgba(14, 165, 233, 0.3),
      0 8px 16px rgba(0, 0, 0, 0.5);
  }
}

/* 科技蓝文字效果 */
body.tech-theme h1,
body.tech-theme h2,
body.tech-theme h3,
body.tech-theme h4,
body.tech-theme h5,
body.tech-theme h6 {
  color: #ffffff !important;
  font-weight: 600 !important;
  text-shadow:
    0 0 10px rgba(14, 165, 233, 0.8),
    0 0 20px rgba(14, 165, 233, 0.4),
    0 0 30px rgba(14, 165, 233, 0.2) !important;
  text-transform: uppercase !important;
  letter-spacing: 2px !important;
  position: relative !important;
}

/* 标题数字化效果 */
body.tech-theme h1::before,
body.tech-theme h2::before,
body.tech-theme h3::before {
  content: '> ';
  color: #0ea5e9;
  font-family: 'Courier New', monospace;
  animation: cursor-blink 1.5s ease-in-out infinite;
}

body.tech-theme h1::after,
body.tech-theme h2::after,
body.tech-theme h3::after {
  content: ' <';
  color: #0ea5e9;
  font-family: 'Courier New', monospace;
  animation: cursor-blink 1.5s ease-in-out infinite reverse;
}

@keyframes cursor-blink {
  0%, 50% { opacity: 1; }
  51%, 100% { opacity: 0.3; }
}

/* 科技数字显示效果 */
body.tech-theme .ant-statistic-content-value {
  color: #ffffff !important;
  text-shadow:
    0 0 15px rgba(14, 165, 233, 1),
    0 0 30px rgba(14, 165, 233, 0.6),
    0 0 45px rgba(14, 165, 233, 0.3) !important;
  font-family: 'Courier New', monospace !important;
  font-weight: 700 !important;
  position: relative !important;
  animation: number-glow 3s ease-in-out infinite alternate !important;
}

body.tech-theme .ant-statistic-content-value::before {
  content: '[';
  color: #0ea5e9;
  margin-right: 4px;
  animation: bracket-pulse 2s ease-in-out infinite;
}

body.tech-theme .ant-statistic-content-value::after {
  content: ']';
  color: #0ea5e9;
  margin-left: 4px;
  animation: bracket-pulse 2s ease-in-out infinite reverse;
}

body.tech-theme .ant-statistic-title {
  color: #0ea5e9 !important;
  text-transform: uppercase !important;
  letter-spacing: 2px !important;
  font-weight: 600 !important;
  font-family: 'Courier New', monospace !important;
  position: relative !important;
}

body.tech-theme .ant-statistic-title::before {
  content: '// ';
  color: rgba(14, 165, 233, 0.6);
  font-size: 0.8em;
}

@keyframes number-glow {
  0% {
    text-shadow:
      0 0 15px rgba(14, 165, 233, 1),
      0 0 30px rgba(14, 165, 233, 0.6),
      0 0 45px rgba(14, 165, 233, 0.3);
  }
  100% {
    text-shadow:
      0 0 20px rgba(14, 165, 233, 1),
      0 0 40px rgba(14, 165, 233, 0.8),
      0 0 60px rgba(14, 165, 233, 0.5);
  }
}

@keyframes bracket-pulse {
  0%, 100% { opacity: 1; transform: scale(1); }
  50% { opacity: 0.7; transform: scale(1.1); }
}

body.tech-theme .ant-typography {
  color: #ffffff !important;
}

body.tech-theme .ant-btn {
  color: #e2e8f0 !important;
  border-color: rgba(45, 55, 72, 0.8) !important;
}

body.tech-theme .ant-btn:hover {
  color: #0ea5e9 !important;
  border-color: rgba(14, 165, 233, 0.5) !important;
}

/* 科技主题进度条 */
body.tech-theme .ant-progress-text {
  color: #e2e8f0 !important;
}

/* 科技主题标签 */
body.tech-theme .ant-tag {
  background: rgba(26, 32, 44, 0.8) !important;
  color: #e2e8f0 !important;
  border-color: rgba(14, 165, 233, 0.3) !important;
}

/* 确保科技主题所有文字都有足够对比度 */
body.tech-theme {
  color: #ffffff !important;
  background: radial-gradient(ellipse at center, #0a0e13 0%, #000000 100%) !important;
  position: relative;
}

/* 科技背景多层效果 */
body.tech-theme::before {
  content: '';
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-image:
    linear-gradient(rgba(14, 165, 233, 0.15) 1px, transparent 1px),
    linear-gradient(90deg, rgba(14, 165, 233, 0.15) 1px, transparent 1px),
    radial-gradient(circle at 25% 25%, rgba(14, 165, 233, 0.1) 0%, transparent 50%),
    radial-gradient(circle at 75% 75%, rgba(59, 130, 246, 0.1) 0%, transparent 50%);
  background-size: 50px 50px, 50px 50px, 200px 200px, 300px 300px;
  pointer-events: none;
  z-index: 1;
  animation: grid-move 30s linear infinite, pulse-bg 6s ease-in-out infinite alternate;
}

body.tech-theme::after {
  content: '';
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background:
    linear-gradient(45deg, transparent 30%, rgba(14, 165, 233, 0.03) 50%, transparent 70%),
    linear-gradient(-45deg, transparent 30%, rgba(59, 130, 246, 0.03) 50%, transparent 70%);
  background-size: 100px 100px, 150px 150px;
  pointer-events: none;
  z-index: 1;
  animation: diagonal-move 25s linear infinite, rotate-bg 45s linear infinite;
}

@keyframes grid-move {
  0% { transform: translate(0, 0); }
  100% { transform: translate(50px, 50px); }
}

@keyframes pulse-bg {
  0% { opacity: 0.3; }
  100% { opacity: 0.8; }
}

@keyframes diagonal-move {
  0% { transform: translate(0, 0); }
  100% { transform: translate(100px, 100px); }
}

@keyframes rotate-bg {
  0% { transform: rotate(0deg); }
  100% { transform: rotate(360deg); }
}

/* 移除过于激进的全局样式覆盖 */
body.tech-theme {
  color: #ffffff !important;
  position: relative;
  z-index: 1;
}

/* 只对特定元素应用科技样式 */
body.tech-theme .ant-layout,
body.tech-theme .ant-layout-content,
body.tech-theme .ant-card,
body.tech-theme .ant-menu,
body.tech-theme .ant-table,
body.tech-theme .ant-form,
body.tech-theme .ant-input,
body.tech-theme .ant-select,
body.tech-theme .ant-statistic {
  color: #ffffff !important;
}

body.tech-theme .ant-card-head {
  background: rgba(26, 32, 44, 0.8) !important;
  border-color: rgba(14, 165, 233, 0.2) !important;
}

body.tech-theme .ant-descriptions-item-label {
  color: #a0aec0 !important;
}

body.tech-theme .ant-descriptions-item-content {
  color: #e2e8f0 !important;
}

body.tech-theme .ant-select-selection-item {
  color: #e2e8f0 !important;
}

body.tech-theme .ant-select-selection-placeholder {
  color: #718096 !important;
}

body.tech-theme .ant-input::placeholder {
  color: #718096 !important;
}

/* 修复科技主题白色背景问题 */
body.tech-theme .ant-layout {
  background: #0a0e13 !important;
}

body.tech-theme .ant-layout-content {
  background: rgba(15, 20, 25, 0.5) !important;
}

body.tech-theme .ant-layout-sider {
  background: #0f1419 !important;
}

body.tech-theme .ant-layout-header {
  background: linear-gradient(135deg, rgba(0, 20, 40, 0.95) 0%, rgba(0, 30, 60, 0.95) 100%) !important;
  border-bottom: 2px solid rgba(14, 165, 233, 0.3) !important;
  box-shadow: 0 2px 8px rgba(14, 165, 233, 0.2) !important;
}

/* 科技主题进度条增强 */
body.tech-theme .ant-progress-bg {
  background: linear-gradient(90deg, #0ea5e9 0%, #3b82f6 50%, #6366f1 100%) !important;
  box-shadow: 0 0 10px rgba(14, 165, 233, 0.5) !important;
  animation: progress-glow 2s ease-in-out infinite alternate;
}

@keyframes progress-glow {
  0% { box-shadow: 0 0 5px rgba(14, 165, 233, 0.3); }
  100% { box-shadow: 0 0 15px rgba(14, 165, 233, 0.8); }
}

body.tech-theme .ant-progress-text {
  color: #ffffff !important;
  font-weight: 600 !important;
  text-shadow: 0 0 5px rgba(14, 165, 233, 0.8) !important;
}

/* 科技主题标签增强 */
body.tech-theme .ant-tag {
  background: linear-gradient(135deg, rgba(14, 165, 233, 0.2) 0%, rgba(59, 130, 246, 0.2) 100%) !important;
  color: #ffffff !important;
  border: 1px solid rgba(14, 165, 233, 0.4) !important;
  box-shadow: 0 0 8px rgba(14, 165, 233, 0.3) !important;
  text-shadow: 0 0 3px rgba(14, 165, 233, 0.8) !important;
  position: relative !important;
  overflow: hidden !important;
}

body.tech-theme .ant-tag::before {
  content: '';
  position: absolute;
  top: 0;
  left: -100%;
  width: 100%;
  height: 100%;
  background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.1), transparent);
  transition: left 0.5s ease;
}

body.tech-theme .ant-tag:hover::before {
  left: 100%;
}

/* 科技主题滚动条 */
body.tech-theme ::-webkit-scrollbar {
  width: 8px;
  height: 8px;
}

body.tech-theme ::-webkit-scrollbar-track {
  background: rgba(0, 20, 40, 0.5);
  border-radius: 4px;
}

body.tech-theme ::-webkit-scrollbar-thumb {
  background: linear-gradient(180deg, #0ea5e9 0%, #3b82f6 100%);
  border-radius: 4px;
  box-shadow: 0 0 5px rgba(14, 165, 233, 0.5);
}

body.tech-theme ::-webkit-scrollbar-thumb:hover {
  background: linear-gradient(180deg, #3b82f6 0%, #6366f1 100%);
  box-shadow: 0 0 10px rgba(14, 165, 233, 0.8);
}

/* 科技主题选择器 */
body.tech-theme .ant-select-selection-item {
  color: #ffffff !important;
  text-shadow: 0 0 3px rgba(14, 165, 233, 0.8) !important;
}

body.tech-theme .ant-select-selection-placeholder {
  color: #0ea5e9 !important;
}

body.tech-theme .ant-input::placeholder {
  color: #0ea5e9 !important;
  font-style: italic !important;
  text-shadow: 0 0 5px rgba(14, 165, 233, 0.8) !important;
}

/* 修复右上角组件样式 */
body.tech-theme .ant-dropdown,
body.tech-theme .ant-dropdown-menu {
  background: rgba(15, 20, 25, 0.95) !important;
  border: 1px solid rgba(14, 165, 233, 0.3) !important;
  border-radius: 8px !important;
  box-shadow:
    0 0 20px rgba(14, 165, 233, 0.3),
    0 4px 6px -1px rgba(0, 0, 0, 0.4) !important;
  backdrop-filter: blur(10px) !important;
}

body.tech-theme .ant-dropdown-menu-item {
  color: #ffffff !important;
  background: transparent !important;
  border-radius: 4px !important;
  margin: 2px 4px !important;
  transition: all 0.3s ease !important;
}

body.tech-theme .ant-dropdown-menu-item:hover {
  background: rgba(14, 165, 233, 0.2) !important;
  color: #ffffff !important;
}

body.tech-theme .ant-dropdown-menu-item-selected {
  background: rgba(14, 165, 233, 0.3) !important;
  color: #ffffff !important;
}

/* 修复通知组件 */
body.tech-theme .ant-badge {
  color: inherit !important;
}

body.tech-theme .ant-badge-count {
  background: linear-gradient(135deg, #ef4444 0%, #dc2626 100%) !important;
  color: #ffffff !important;
  border: 1px solid rgba(14, 165, 233, 0.3) !important;
  box-shadow: 0 0 8px rgba(239, 68, 68, 0.5) !important;
}

/* 修复头像组件 */
body.tech-theme .ant-avatar {
  background: linear-gradient(135deg, rgba(14, 165, 233, 0.3) 0%, rgba(59, 130, 246, 0.3) 100%) !important;
  border: 2px solid rgba(14, 165, 233, 0.5) !important;
  color: #ffffff !important;
  box-shadow: 0 0 10px rgba(14, 165, 233, 0.4) !important;
}

/* 修复按钮组件 */
body.tech-theme .ant-btn:not(.ant-btn-primary) {
  background: linear-gradient(135deg, rgba(15, 20, 25, 0.8) 0%, rgba(26, 32, 44, 0.8) 100%) !important;
  border: 1px solid rgba(14, 165, 233, 0.3) !important;
  color: #ffffff !important;
  box-shadow: 0 0 8px rgba(14, 165, 233, 0.2) !important;
}

body.tech-theme .ant-btn:not(.ant-btn-primary):hover {
  background: linear-gradient(135deg, rgba(14, 165, 233, 0.2) 0%, rgba(59, 130, 246, 0.2) 100%) !important;
  border-color: rgba(14, 165, 233, 0.5) !important;
  color: #ffffff !important;
  box-shadow: 0 0 12px rgba(14, 165, 233, 0.4) !important;
}

/* 修复图标颜色 */
body.tech-theme .anticon {
  color: #ffffff !important;
}

body.tech-theme .ant-btn .anticon {
  color: inherit !important;
}

/* 确保下拉菜单正确显示 */
body.tech-theme .ant-select-dropdown {
  background: rgba(15, 20, 25, 0.95) !important;
  border: 1px solid rgba(14, 165, 233, 0.3) !important;
  border-radius: 8px !important;
  box-shadow:
    0 0 20px rgba(14, 165, 233, 0.3),
    0 4px 6px -1px rgba(0, 0, 0, 0.4) !important;
  backdrop-filter: blur(10px) !important;
}

body.tech-theme .ant-select-item {
  color: #ffffff !important;
  background: transparent !important;
}

body.tech-theme .ant-select-item:hover {
  background: rgba(14, 165, 233, 0.2) !important;
  color: #ffffff !important;
}

body.tech-theme .ant-select-item-option-selected {
  background: rgba(14, 165, 233, 0.3) !important;
  color: #ffffff !important;
}

/* 特别修复头部组件的显示问题 */
body.tech-theme .ant-layout-header .ant-btn,
body.tech-theme .ant-layout-header .ant-dropdown-trigger,
body.tech-theme .ant-layout-header .ant-badge,
body.tech-theme .ant-layout-header .ant-avatar {
  background: rgba(15, 20, 25, 0.8) !important;
  border: 1px solid rgba(14, 165, 233, 0.3) !important;
  color: #ffffff !important;
  border-radius: 6px !important;
  transition: all 0.3s ease !important;
}

body.tech-theme .ant-layout-header .ant-btn:hover,
body.tech-theme .ant-layout-header .ant-dropdown-trigger:hover {
  background: rgba(14, 165, 233, 0.2) !important;
  border-color: rgba(14, 165, 233, 0.5) !important;
  box-shadow: 0 0 10px rgba(14, 165, 233, 0.3) !important;
}

/* 修复头像组件 */
body.tech-theme .ant-layout-header .ant-avatar {
  background: linear-gradient(135deg, rgba(14, 165, 233, 0.3) 0%, rgba(59, 130, 246, 0.3) 100%) !important;
  border: 2px solid rgba(14, 165, 233, 0.5) !important;
  color: #ffffff !important;
  box-shadow: 0 0 8px rgba(14, 165, 233, 0.4) !important;
}

/* 修复通知徽章 */
body.tech-theme .ant-layout-header .ant-badge-count {
  background: linear-gradient(135deg, #ef4444 0%, #dc2626 100%) !important;
  color: #ffffff !important;
  border: 1px solid rgba(239, 68, 68, 0.5) !important;
  box-shadow: 0 0 8px rgba(239, 68, 68, 0.5) !important;
}

/* 确保图标正确显示 */
body.tech-theme .ant-layout-header .anticon {
  color: #ffffff !important;
}

/* 修复下拉菜单触发器 */
body.tech-theme .ant-layout-header .ant-dropdown-trigger {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-width: 40px !important;
  height: 40px !important;
}

/* 确保主题选择器正确显示 */
body.tech-theme .ant-layout-header .theme-selector {
  background: rgba(15, 20, 25, 0.8) !important;
  border: 1px solid rgba(14, 165, 233, 0.3) !important;
  border-radius: 6px !important;
  padding: 8px !important;
}

body.tech-theme .ant-layout-header .theme-selector:hover {
  background: rgba(14, 165, 233, 0.2) !important;
  border-color: rgba(14, 165, 233, 0.5) !important;
  box-shadow: 0 0 10px rgba(14, 165, 233, 0.3) !important;
}

/* 科技主题全局粒子效果 */
body.tech-theme {
  position: relative;
  overflow-x: hidden;
}

/* 数字雨背景效果 */
body.tech-theme .digital-rain {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
  z-index: 1;
  opacity: 0.15;
  background-image:
    repeating-linear-gradient(
      0deg,
      transparent,
      transparent 20px,
      rgba(14, 165, 233, 0.1) 20px,
      rgba(14, 165, 233, 0.1) 21px
    );
  animation: digital-rain-fall 8s linear infinite;
}

/* 电路板图案 */
body.tech-theme .circuit-pattern {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
  z-index: 1;
  opacity: 0.08;
  background-image:
    linear-gradient(90deg, transparent 24px, rgba(14, 165, 233, 0.3) 25px, rgba(14, 165, 233, 0.3) 26px, transparent 27px, transparent 74px, rgba(14, 165, 233, 0.3) 75px, rgba(14, 165, 233, 0.3) 76px, transparent 77px),
    linear-gradient(0deg, transparent 24px, rgba(14, 165, 233, 0.3) 25px, rgba(14, 165, 233, 0.3) 26px, transparent 27px, transparent 74px, rgba(14, 165, 233, 0.3) 75px, rgba(14, 165, 233, 0.3) 76px, transparent 77px);
  background-size: 100px 100px;
  animation: circuit-glow 10s ease-in-out infinite alternate;
}

/* 全息扫描线 - 已禁用 */
body.tech-theme .hologram-scan {
  display: none;
}

/* HUD界面元素 */
body.tech-theme .hud-elements {
  position: fixed;
  top: 20px;
  right: 20px;
  width: 200px;
  height: 150px;
  pointer-events: none;
  z-index: 5;
  opacity: 0.3;
}

body.tech-theme .hud-elements::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border: 2px solid rgba(14, 165, 233, 0.6);
  border-radius: 8px;
  background: linear-gradient(135deg,
    transparent 0%,
    rgba(14, 165, 233, 0.1) 50%,
    transparent 100%
  );
  animation: hud-pulse 4s ease-in-out infinite;
}

body.tech-theme .hud-elements::after {
  content: 'SYS ONLINE';
  position: absolute;
  top: 10px;
  left: 10px;
  color: #0ea5e9;
  font-family: 'Courier New', monospace;
  font-size: 12px;
  font-weight: 700;
  text-shadow: 0 0 10px rgba(14, 165, 233, 1);
  animation: text-flicker 2s ease-in-out infinite alternate;
}

@keyframes digital-rain-fall {
  0% { transform: translateY(-100px); }
  100% { transform: translateY(100vh); }
}

@keyframes circuit-glow {
  0% { opacity: 0.05; }
  100% { opacity: 0.15; }
}

@keyframes hologram-scan-move {
  0% { top: -10px; opacity: 0; }
  10% { opacity: 1; }
  90% { opacity: 1; }
  100% { top: 100vh; opacity: 0; }
}

@keyframes hud-pulse {
  0%, 100% {
    border-color: rgba(14, 165, 233, 0.6);
    box-shadow: 0 0 20px rgba(14, 165, 233, 0.3);
  }
  50% {
    border-color: rgba(14, 165, 233, 1);
    box-shadow: 0 0 30px rgba(14, 165, 233, 0.6);
  }
}

@keyframes text-flicker {
  0%, 100% { opacity: 1; }
  50% { opacity: 0.7; }
}

body.tech-theme .tech-particles {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
  z-index: 1;
}

body.tech-theme .tech-particles::before,
body.tech-theme .tech-particles::after {
  content: '';
  position: absolute;
  width: 2px;
  height: 2px;
  background: #0ea5e9;
  border-radius: 50%;
  box-shadow:
    0 0 6px #0ea5e9,
    0 0 12px #0ea5e9,
    0 0 18px #0ea5e9;
  animation: particle-float 8s ease-in-out infinite;
}

body.tech-theme .tech-particles::before {
  top: 20%;
  left: 10%;
  animation-delay: 0s;
}

body.tech-theme .tech-particles::after {
  top: 60%;
  right: 15%;
  animation-delay: 4s;
}

/* 雷达扫描效果 */
body.tech-theme .radar-scan {
  position: fixed;
  bottom: 30px;
  left: 30px;
  width: 120px;
  height: 120px;
  border: 2px solid rgba(14, 165, 233, 0.4);
  border-radius: 50%;
  pointer-events: none;
  z-index: 5;
  opacity: 0.6;
}

body.tech-theme .radar-scan::before {
  content: '';
  position: absolute;
  top: 50%;
  left: 50%;
  width: 2px;
  height: 50%;
  background: linear-gradient(to bottom,
    rgba(14, 165, 233, 1),
    transparent
  );
  transform-origin: bottom center;
  transform: translate(-50%, -100%) rotate(0deg);
  animation: radar-sweep 4s linear infinite;
}

body.tech-theme .radar-scan::after {
  content: '';
  position: absolute;
  top: 50%;
  left: 50%;
  width: 80%;
  height: 80%;
  border: 1px solid rgba(14, 165, 233, 0.3);
  border-radius: 50%;
  transform: translate(-50%, -50%);
  animation: radar-pulse 2s ease-in-out infinite;
}

/* 数据流指示器 */
body.tech-theme .data-stream {
  position: fixed;
  top: 50%;
  left: 10px;
  width: 4px;
  height: 200px;
  background: linear-gradient(to bottom,
    transparent,
    rgba(14, 165, 233, 0.8),
    rgba(59, 130, 246, 0.8),
    rgba(99, 102, 241, 0.8),
    transparent
  );
  pointer-events: none;
  z-index: 5;
  transform: translateY(-50%);
  animation: data-flow 3s ease-in-out infinite;
}

body.tech-theme .data-stream::before {
  content: '';
  position: absolute;
  top: 0;
  left: -2px;
  width: 8px;
  height: 20px;
  background: rgba(14, 165, 233, 1);
  border-radius: 4px;
  box-shadow: 0 0 10px rgba(14, 165, 233, 1);
  animation: data-packet 2s ease-in-out infinite;
}

/* 系统状态指示器 */
body.tech-theme .system-status {
  position: fixed;
  top: 50%;
  right: 10px;
  width: 6px;
  height: 100px;
  background: linear-gradient(to bottom,
    rgba(34, 197, 94, 0.8),
    rgba(14, 165, 233, 0.8),
    rgba(168, 85, 247, 0.8)
  );
  pointer-events: none;
  z-index: 5;
  transform: translateY(-50%);
  animation: status-blink 1.5s ease-in-out infinite alternate;
}

/* 角落装饰元素 */
body.tech-theme .corner-decoration {
  position: fixed;
  top: 0;
  left: 0;
  width: 100px;
  height: 100px;
  pointer-events: none;
  z-index: 5;
  opacity: 0.4;
}

body.tech-theme .corner-decoration::before {
  content: '';
  position: absolute;
  top: 20px;
  left: 20px;
  width: 60px;
  height: 2px;
  background: linear-gradient(90deg,
    rgba(14, 165, 233, 1),
    transparent
  );
}

body.tech-theme .corner-decoration::after {
  content: '';
  position: absolute;
  top: 20px;
  left: 20px;
  width: 2px;
  height: 60px;
  background: linear-gradient(180deg,
    rgba(14, 165, 233, 1),
    transparent
  );
}

@keyframes radar-sweep {
  0% { transform: translate(-50%, -100%) rotate(0deg); }
  100% { transform: translate(-50%, -100%) rotate(360deg); }
}

@keyframes radar-pulse {
  0%, 100% {
    transform: translate(-50%, -50%) scale(1);
    opacity: 0.6;
  }
  50% {
    transform: translate(-50%, -50%) scale(1.1);
    opacity: 1;
  }
}

@keyframes data-flow {
  0%, 100% { opacity: 0.6; }
  50% { opacity: 1; }
}

@keyframes data-packet {
  0% { top: 0; opacity: 0; }
  10% { opacity: 1; }
  90% { opacity: 1; }
  100% { top: 180px; opacity: 0; }
}

@keyframes status-blink {
  0% { opacity: 0.6; }
  100% { opacity: 1; }
}

/* 科技主题数字雨效果 */
body.tech-theme .digital-rain {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
  z-index: 1;
  opacity: 0.1;
}

/* 科技主题进度条超级增强 */
body.tech-theme .ant-progress-bg {
  background: linear-gradient(90deg,
    #0ea5e9 0%,
    #3b82f6 25%,
    #6366f1 50%,
    #8b5cf6 75%,
    #0ea5e9 100%
  ) !important;
  background-size: 200% 100% !important;
  box-shadow:
    0 0 15px rgba(14, 165, 233, 0.8),
    inset 0 1px 0 rgba(255, 255, 255, 0.3) !important;
  animation: progress-flow 2s linear infinite, progress-pulse 1.5s ease-in-out infinite alternate;
  position: relative !important;
  overflow: hidden !important;
}

body.tech-theme .ant-progress-bg::before {
  content: '';
  position: absolute;
  top: 0;
  left: -100%;
  width: 100%;
  height: 100%;
  background: linear-gradient(90deg,
    transparent,
    rgba(255, 255, 255, 0.4),
    transparent
  );
  animation: progress-shine 2s ease-in-out infinite;
}

/* 科技主题标签超级增强 */
body.tech-theme .ant-tag {
  background: linear-gradient(135deg,
    rgba(14, 165, 233, 0.3) 0%,
    rgba(59, 130, 246, 0.3) 50%,
    rgba(99, 102, 241, 0.3) 100%
  ) !important;
  color: #ffffff !important;
  border: 2px solid transparent !important;
  background-clip: padding-box !important;
  box-shadow:
    0 0 12px rgba(14, 165, 233, 0.4),
    inset 0 1px 0 rgba(255, 255, 255, 0.2) !important;
  text-shadow: 0 0 8px rgba(14, 165, 233, 1) !important;
  position: relative !important;
  overflow: hidden !important;
  transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1) !important;
}

body.tech-theme .ant-tag::before {
  content: '';
  position: absolute;
  top: -2px;
  left: -2px;
  right: -2px;
  bottom: -2px;
  background: linear-gradient(45deg,
    #0ea5e9, #3b82f6, #6366f1, #8b5cf6, #0ea5e9
  );
  background-size: 400% 400%;
  border-radius: inherit;
  z-index: -1;
  animation: tag-border-flow 3s ease-in-out infinite;
}

body.tech-theme .ant-tag::after {
  content: '';
  position: absolute;
  top: 0;
  left: -100%;
  width: 100%;
  height: 100%;
  background: linear-gradient(90deg,
    transparent,
    rgba(255, 255, 255, 0.3),
    transparent
  );
  transition: left 0.6s ease;
}

body.tech-theme .ant-tag:hover {
  transform: scale(1.05) translateY(-2px) !important;
  box-shadow:
    0 0 20px rgba(14, 165, 233, 0.6),
    0 4px 8px rgba(0, 0, 0, 0.3),
    inset 0 1px 0 rgba(255, 255, 255, 0.3) !important;
}

body.tech-theme .ant-tag:hover::after {
  left: 100%;
}

@keyframes particle-float {
  0%, 100% { transform: translateY(0px) translateX(0px); opacity: 1; }
  25% { transform: translateY(-20px) translateX(10px); opacity: 0.8; }
  50% { transform: translateY(-10px) translateX(-5px); opacity: 0.6; }
  75% { transform: translateY(-30px) translateX(15px); opacity: 0.9; }
}

@keyframes progress-flow {
  0% { background-position: 0% 0%; }
  100% { background-position: 200% 0%; }
}

@keyframes progress-pulse {
  0% {
    box-shadow:
      0 0 15px rgba(14, 165, 233, 0.8),
      inset 0 1px 0 rgba(255, 255, 255, 0.3);
  }
  100% {
    box-shadow:
      0 0 25px rgba(14, 165, 233, 1),
      inset 0 1px 0 rgba(255, 255, 255, 0.5);
  }
}

@keyframes progress-shine {
  0% { left: -100%; }
  50% { left: 100%; }
  100% { left: -100%; }
}

@keyframes tag-border-flow {
  0%, 100% { background-position: 0% 50%; }
  50% { background-position: 100% 50%; }
}

/* 科技主题表格样式 */
body.tech-theme .ant-table {
  background: linear-gradient(135deg,
    rgba(0, 20, 40, 0.95) 0%,
    rgba(0, 30, 60, 0.95) 50%,
    rgba(0, 40, 80, 0.95) 100%
  ) !important;
  border: 3px solid transparent !important;
  background-clip: padding-box !important;
  border-radius: 12px !important;
  overflow: hidden !important;
  box-shadow:
    0 0 30px rgba(14, 165, 233, 0.4),
    inset 0 1px 0 rgba(14, 165, 233, 0.2),
    0 8px 16px rgba(0, 0, 0, 0.4) !important;
  position: relative !important;
}

/* 表格边框动画 */
body.tech-theme .ant-table::before {
  content: '';
  position: absolute;
  top: -3px;
  left: -3px;
  right: -3px;
  bottom: -3px;
  background: linear-gradient(45deg,
    #0ea5e9, #3b82f6, #6366f1, #8b5cf6, #0ea5e9
  );
  background-size: 400% 400%;
  border-radius: inherit;
  z-index: -1;
  animation: table-border-flow 4s ease-in-out infinite;
}

/* 表格内部光效 */
body.tech-theme .ant-table::after {
  content: '';
  position: absolute;
  top: 0;
  left: -100%;
  width: 100%;
  height: 100%;
  background: linear-gradient(90deg,
    transparent,
    rgba(14, 165, 233, 0.1),
    rgba(255, 255, 255, 0.05),
    rgba(14, 165, 233, 0.1),
    transparent
  );
  animation: table-scan 6s ease-in-out infinite;
  pointer-events: none;
  z-index: 1;
}

body.tech-theme .ant-table-thead > tr > th {
  background: linear-gradient(135deg,
    rgba(14, 165, 233, 0.3) 0%,
    rgba(59, 130, 246, 0.3) 50%,
    rgba(99, 102, 241, 0.3) 100%
  ) !important;
  border-color: rgba(14, 165, 233, 0.4) !important;
  color: #ffffff !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: 2px !important;
  text-shadow: 0 0 10px rgba(14, 165, 233, 1) !important;
  position: relative !important;
  overflow: hidden !important;
}

/* 表头多重光效 */
body.tech-theme .ant-table-thead > tr > th::before {
  content: '';
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  height: 3px;
  background: linear-gradient(90deg,
    transparent,
    #0ea5e9,
    #3b82f6,
    #6366f1,
    #0ea5e9,
    transparent
  );
  background-size: 200% 100%;
  animation: header-flow 3s linear infinite;
}

body.tech-theme .ant-table-thead > tr > th::after {
  content: '';
  position: absolute;
  top: 0;
  left: -100%;
  width: 100%;
  height: 100%;
  background: linear-gradient(90deg,
    transparent,
    rgba(255, 255, 255, 0.2),
    transparent
  );
  animation: header-shine 4s ease-in-out infinite;
}

body.tech-theme .ant-table-tbody > tr > td {
  border-color: rgba(14, 165, 233, 0.3) !important;
  background: rgba(0, 20, 40, 0.7) !important;
  color: #ffffff !important;
  position: relative !important;
  transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1) !important;
  text-shadow: 0 0 3px rgba(14, 165, 233, 0.5) !important;
}

/* 表格行悬浮效果 */
body.tech-theme .ant-table-tbody > tr:hover > td {
  background: linear-gradient(135deg,
    rgba(14, 165, 233, 0.2) 0%,
    rgba(59, 130, 246, 0.2) 100%
  ) !important;
  box-shadow:
    inset 0 0 20px rgba(14, 165, 233, 0.3),
    0 0 15px rgba(14, 165, 233, 0.4) !important;
  text-shadow: 0 0 8px rgba(14, 165, 233, 1) !important;
  transform: scale(1.01) !important;
}

body.tech-theme .ant-table-tbody > tr:hover > td::before {
  content: '';
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  width: 4px;
  background: linear-gradient(180deg,
    transparent,
    #0ea5e9,
    #3b82f6,
    #6366f1,
    #0ea5e9,
    transparent
  );
  background-size: 100% 200%;
  animation: row-indicator 2s linear infinite;
}

body.tech-theme .ant-table-tbody > tr:hover > td::after {
  content: '';
  position: absolute;
  top: 0;
  left: -100%;
  width: 100%;
  height: 100%;
  background: linear-gradient(90deg,
    transparent,
    rgba(14, 165, 233, 0.2),
    rgba(255, 255, 255, 0.1),
    rgba(14, 165, 233, 0.2),
    transparent
  );
  animation: row-scan 1s ease-out;
}

@keyframes table-border-flow {
  0%, 100% { background-position: 0% 50%; }
  50% { background-position: 100% 50%; }
}

@keyframes table-scan {
  0% { left: -100%; }
  50% { left: 100%; }
  100% { left: -100%; }
}

@keyframes header-flow {
  0% { background-position: -200% 0; }
  100% { background-position: 200% 0; }
}

@keyframes header-shine {
  0% { left: -100%; }
  50% { left: 100%; }
  100% { left: -100%; }
}

@keyframes row-indicator {
  0% { background-position: 0% 0%; }
  100% { background-position: 0% 200%; }
}

@keyframes row-scan {
  0% { left: -100%; opacity: 0; }
  50% { opacity: 1; }
  100% { left: 100%; opacity: 0; }
}

/* 通用动画增强 */
.ant-layout-sider {
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1) !important;
}

.ant-menu-item {
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1) !important;
  margin: 4px 8px !important;
  border-radius: 8px !important;
}

.ant-menu-item:hover {
  transform: translateX(4px) !important;
}

.ant-menu-item-selected {
  background: rgba(79, 70, 229, 0.1) !important;
  border-right: 3px solid #4f46e5 !important;
}

/* 表单增强 */
.ant-form-item-label > label {
  font-weight: 500 !important;
  color: #374151 !important;
}

/* 统计数字动画 */
.ant-statistic-content-value {
  font-weight: 700 !important;
  background: linear-gradient(135deg, #1e293b 0%, #475569 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}

/* 进度条美化 */
.ant-progress-bg {
  background: linear-gradient(90deg, #4f46e5 0%, #6366f1 100%) !important;
}

/* 标签美化 */
.ant-tag {
  border-radius: 6px !important;
  font-weight: 500 !important;
  border: none !important;
  box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.1), 0 1px 2px 0 rgba(0, 0, 0, 0.06) !important;
}

/* 头像组件主题适配 */
.ant-avatar {
  transition: all 0.3s ease !important;
}

.ant-avatar-circle {
  border: 2px solid rgba(0, 0, 0, 0.1) !important;
}

.ant-avatar-icon {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}

/* 进度条组件主题适配 */
.ant-progress {
  margin-bottom: 8px !important;
}

.ant-progress-text {
  font-weight: 500 !important;
  margin-left: 8px !important;
}

.ant-progress-inner {
  border-radius: 8px !important;
  overflow: hidden !important;
}

.ant-progress-bg {
  border-radius: 8px !important;
  transition: all 0.3s ease !important;
}

/* 分页美化 */
.ant-pagination-item {
  border-radius: 8px !important;
  border: 1px solid #e2e8f0 !important;
  transition: all 0.3s ease !important;
}

.ant-pagination-item:hover {
  transform: translateY(-1px) !important;
  box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06) !important;
}

.ant-pagination-item-active {
  background: linear-gradient(135deg, #4f46e5 0%, #6366f1 100%) !important;
  border-color: #4f46e5 !important;
}

/* Logo组件主题适配 */
.logo {
  transition: all 0.3s ease !important;
  user-select: none !important;
}

.logo:hover {
  transform: scale(1.02) !important;
}

/* 响应式按钮布局优化 */
@media (max-width: 768px) {
  .ant-space {
    width: 100% !important;
  }

  .ant-space-item {
    margin-bottom: 8px !important;
  }

  .ant-btn {
    min-width: auto !important;
    padding: 4px 8px !important;
  }

  .ant-btn-lg {
    height: 36px !important;
    padding: 4px 12px !important;
    font-size: 14px !important;
  }

  /* 滑块组件在小屏幕下的优化 */
  .ant-slider {
    margin: 8px 0 !important;
  }

  /* 标签在小屏幕下的优化 */
  .ant-tag {
    margin-bottom: 4px !important;
    font-size: 12px !important;
  }

  /* 进度条在小屏幕下的优化 */
  .ant-progress {
    margin: 8px 0 !important;
  }

  .ant-progress-text {
    font-size: 12px !important;
  }
}

@media (max-width: 576px) {
  .ant-btn {
    font-size: 12px !important;
    padding: 2px 6px !important;
  }

  .ant-btn-lg {
    height: 32px !important;
    padding: 2px 8px !important;
    font-size: 12px !important;
  }

  .ant-input {
    font-size: 14px !important;
  }

  .ant-select {
    font-size: 14px !important;
  }

  /* 统计数字在超小屏幕下的优化 */
  .ant-statistic-title {
    font-size: 12px !important;
  }

  .ant-statistic-content {
    font-size: 16px !important;
  }

  /* 卡片在超小屏幕下的优化 */
  .ant-card-head-title {
    font-size: 14px !important;
  }

  .ant-card-body {
    padding: 12px !important;
  }

  /* 模态框在超小屏幕下的优化 */
  .ant-modal {
    margin: 10px !important;
    max-width: calc(100vw - 20px) !important;
  }

  .ant-modal-content {
    border-radius: 8px !important;
  }
}

/* 下拉菜单美化 */
.ant-dropdown {
  border-radius: 12px !important;
  box-shadow: 0 10px 25px rgba(0, 0, 0, 0.15) !important;
  border: 1px solid rgba(0, 0, 0, 0.06) !important;
  backdrop-filter: blur(10px) !important;
}

.ant-dropdown-menu {
  border-radius: 12px !important;
  padding: 8px !important;
}

.ant-dropdown-menu-item {
  border-radius: 8px !important;
  margin: 2px 0 !important;
  transition: all 0.3s ease !important;
}

.ant-dropdown-menu-item:hover {
  background: rgba(79, 70, 229, 0.1) !important;
  transform: translateX(2px) !important;
}

/* 模态框美化 */
.ant-modal {
  border-radius: 16px !important;
}

.ant-modal-content {
  border-radius: 16px !important;
  box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.25) !important;
  backdrop-filter: blur(10px) !important;
}

.ant-modal-header {
  border-radius: 16px 16px 0 0 !important;
  background: linear-gradient(135deg, rgba(255, 255, 255, 0.9) 0%, rgba(248, 250, 252, 0.9) 100%) !important;
  border-bottom: 1px solid rgba(0, 0, 0, 0.06) !important;
}

/* 抽屉美化 */
.ant-drawer-content {
  background: linear-gradient(135deg, rgba(255, 255, 255, 0.95) 0%, rgba(248, 250, 252, 0.95) 100%) !important;
  backdrop-filter: blur(10px) !important;
}

.ant-drawer-header {
  background: linear-gradient(135deg, rgba(255, 255, 255, 0.9) 0%, rgba(248, 250, 252, 0.9) 100%) !important;
  border-bottom: 1px solid rgba(0, 0, 0, 0.06) !important;
}

/* ===== 统一通知系统 - 只使用详细通知 ===== */

/* 通知容器 - 固定在右上角，支持自适应大小，避免遮盖顶栏 */
.ant-notification {
  position: fixed !important;
  top: 88px !important; /* 默认位置：最大顶栏高度(72px) + 间距(16px) */
  right: 24px !important;
  z-index: 10000 !important;
  width: auto !important;
  min-width: 280px !important;
  max-width: 400px !important;
}

/* 不同主题下的通知位置调整 */
body:not(.purple-theme) .ant-notification {
  top: 80px !important; /* 普通主题：顶栏高度(64px) + 间距(16px) */
}

body.tech-theme .ant-notification {
  top: 76px !important; /* 科技主题：顶栏高度(60px) + 间距(16px) */
}

body.purple-theme .ant-notification {
  top: 88px !important; /* 拟物主题：顶栏高度(72px) + 间距(16px) */
}

/* 通知项基础样式 - 支持自适应大小 */
.ant-notification-notice {
  pointer-events: auto !important;
  width: auto !important;
  min-width: 280px !important;
  max-width: 400px !important;
}

/* 紧凑模式 - 短文本时的样式 */
.ant-notification-notice.notification-compact {
  min-width: 280px !important;
  max-width: 350px !important;
}

/* 详细模式 - 有描述文本时的样式 */
.ant-notification-notice.notification-with-description {
  min-width: 320px !important;
  max-width: 400px !important;
}

/* ===== 通知系统主题适配样式 ===== */

/* ===== 极简现代主题 (默认) - 统一通知样式 ===== */
body:not(.dark-theme):not(.purple-theme):not(.green-theme):not(.tech-theme) .ant-notification-notice {
  background: linear-gradient(135deg, rgba(255, 255, 255, 0.95) 0%, rgba(248, 250, 252, 0.95) 100%) !important;
  border: 1px solid rgba(209, 213, 219, 0.8) !important;
  border-radius: 16px !important;
  box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.12), 0 1px 2px 0 rgba(0, 0, 0, 0.24) !important;
  backdrop-filter: blur(10px) !important;
  color: #1f2937 !important;
  pointer-events: auto !important;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1) !important;
}

/* 极简现代主题 - 悬停效果 */
body:not(.dark-theme):not(.purple-theme):not(.green-theme):not(.tech-theme) .ant-notification-notice:hover {
  transform: translateY(-2px) !important;
  box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06) !important;
  border-color: rgba(59, 130, 246, 0.3) !important;
}

/* 极简现代主题 - 文字样式 */
body:not(.dark-theme):not(.purple-theme):not(.green-theme):not(.tech-theme) .ant-notification-notice-message {
  color: #1f2937 !important;
  font-weight: 600 !important;
  font-size: 14px !important;
  line-height: 1.5 !important;
}

body:not(.dark-theme):not(.purple-theme):not(.green-theme):not(.tech-theme) .ant-notification-notice-description {
  color: #6b7280 !important;
  opacity: 0.9 !important;
  font-size: 13px !important;
  line-height: 1.4 !important;
  margin-top: 4px !important;
}

/* 极简现代主题 - 紧凑模式样式调整 */
body:not(.dark-theme):not(.purple-theme):not(.green-theme):not(.tech-theme) .ant-notification-notice.notification-compact {
  padding: 16px 20px !important;
}

body:not(.dark-theme):not(.purple-theme):not(.green-theme):not(.tech-theme) .ant-notification-notice.notification-compact .ant-notification-notice-message {
  margin-bottom: 0 !important;
}

/* ===== 专业深色主题 - 统一通知样式 ===== */
body.dark-theme .ant-notification-notice {
  background: linear-gradient(135deg, rgba(30, 41, 59, 0.95) 0%, rgba(51, 65, 85, 0.95) 100%) !important;
  border: 1px solid rgba(71, 85, 105, 0.8) !important;
  border-radius: 12px !important;
  box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.3), 0 2px 4px -1px rgba(0, 0, 0, 0.2) !important;
  backdrop-filter: blur(10px) !important;
  color: #f1f5f9 !important;
  pointer-events: auto !important;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1) !important;
}

/* 专业深色主题 - 悬停效果 */
body.dark-theme .ant-notification-notice:hover {
  transform: translateY(-2px) !important;
  box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.4), 0 4px 6px -2px rgba(0, 0, 0, 0.3) !important;
  border-color: rgba(59, 130, 246, 0.4) !important;
}

/* 专业深色主题 - 文字样式 */
body.dark-theme .ant-notification-notice-message {
  color: #ffffff !important;
  font-weight: 600 !important;
  font-size: 14px !important;
  line-height: 1.5 !important;
  text-shadow: none !important;
}

body.dark-theme .ant-notification-notice-description {
  color: #e2e8f0 !important;
  opacity: 0.9 !important;
  font-weight: 400 !important;
  font-size: 13px !important;
  line-height: 1.4 !important;
  margin-top: 4px !important;
}

/* 确保深色主题通知图标可见 */
body.dark-theme .ant-notification-notice-icon {
  color: inherit !important;
  opacity: 1 !important;
  font-size: 16px !important;
}

/* 专业深色主题 - 紧凑模式样式调整 */
body.dark-theme .ant-notification-notice.notification-compact {
  padding: 16px 20px !important;
}

body.dark-theme .ant-notification-notice.notification-compact .ant-notification-notice-message {
  margin-bottom: 0 !important;
}

/* ===== 科技蓝主题 - 统一通知样式 ===== */
body.tech-theme .ant-notification-notice {
  background: linear-gradient(135deg,
    rgba(0, 20, 40, 0.95) 0%,
    rgba(0, 30, 60, 0.95) 50%,
    rgba(0, 40, 80, 0.95) 100%
  ) !important;
  border: 2px solid transparent !important;
  background-clip: padding-box !important;
  border-radius: 8px !important;
  box-shadow:
    0 0 30px rgba(14, 165, 233, 0.4),
    0 10px 15px -3px rgba(0, 0, 0, 0.4),
    inset 0 1px 0 rgba(14, 165, 233, 0.3) !important;
  backdrop-filter: blur(10px) !important;
  color: #ffffff !important;
  pointer-events: auto !important;
  position: relative !important;
  overflow: hidden !important;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1) !important;
}

/* 科技通知多层边框效果 */
body.tech-theme .ant-notification-notice::before {
  content: '';
  position: absolute;
  top: -3px;
  left: -3px;
  right: -3px;
  bottom: -3px;
  background: linear-gradient(45deg,
    #0ea5e9 0%,
    #3b82f6 25%,
    #6366f1 50%,
    #8b5cf6 75%,
    #0ea5e9 100%
  );
  border-radius: 12px;
  z-index: -1;
  opacity: 0.8;
  animation: tech-border-flow 4s linear infinite;
}

/* 科技通知内部光效 */
body.tech-theme .ant-notification-notice::after {
  content: '';
  position: absolute;
  top: 0;
  left: -100%;
  width: 100%;
  height: 100%;
  background: linear-gradient(90deg,
    transparent 0%,
    rgba(14, 165, 233, 0.6) 50%,
    transparent 100%
  );
  animation: tech-shine 3s ease-in-out infinite;
  z-index: 1;
  pointer-events: none;
}

/* 科技蓝主题 - 文字样式 */
body.tech-theme .ant-notification-notice-message {
  color: #ffffff !important;
  font-weight: 700 !important;
  text-shadow:
    0 0 8px rgba(14, 165, 233, 1),
    0 0 16px rgba(14, 165, 233, 0.8),
    0 1px 2px rgba(0, 0, 0, 0.8) !important;
  position: relative !important;
  z-index: 10 !important;
  font-size: 14px !important;
  line-height: 1.5 !important;
}

body.tech-theme .ant-notification-notice-description {
  color: #ffffff !important;
  opacity: 1 !important;
  font-weight: 500 !important;
  text-shadow:
    0 0 6px rgba(14, 165, 233, 0.8),
    0 0 12px rgba(14, 165, 233, 0.6),
    0 1px 2px rgba(0, 0, 0, 0.8) !important;
  position: relative !important;
  z-index: 10 !important;
  font-size: 13px !important;
  line-height: 1.4 !important;
  margin-top: 4px !important;
}

/* 确保科技主题通知图标高度可见 */
body.tech-theme .ant-notification-notice-icon {
  color: #ffffff !important;
  opacity: 1 !important;
  text-shadow:
    0 0 10px rgba(14, 165, 233, 1),
    0 0 20px rgba(14, 165, 233, 0.8) !important;
  position: relative !important;
  z-index: 10 !important;
  font-size: 16px !important;
}

/* 科技主题 - 紧凑模式样式调整 */
body.tech-theme .ant-notification-notice.notification-compact {
  padding: 16px 20px !important;
  border-radius: 6px !important;
}

body.tech-theme .ant-notification-notice.notification-compact .ant-notification-notice-message {
  margin-bottom: 0 !important;
}

body.tech-theme .ant-notification-notice.notification-compact::before {
  border-radius: 9px;
}

/* ===== 新拟物主题 - 统一通知样式（色彩增强版）===== */
body.purple-theme .ant-notification-notice {
  background: linear-gradient(135deg, #fefbff 0%, #f8fafc 50%, #f1f5f9 100%) !important;
  border: 1px solid rgba(139, 92, 246, 0.08) !important;
  border-radius: 28px !important;
  box-shadow: 8px 8px 16px rgba(139, 92, 246, 0.08), -8px -8px 16px #ffffff,
              inset 0 0 0 1px rgba(255, 255, 255, 0.9) !important;
  color: #0f172a !important;
  pointer-events: auto !important;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1) !important;
  position: relative !important;
  overflow: hidden !important;
}

/* 新拟物主题 - 悬停效果增强 */
body.purple-theme .ant-notification-notice:hover {
  transform: translateY(-2px) !important;
  box-shadow: 12px 12px 24px rgba(139, 92, 246, 0.12), -12px -12px 24px #ffffff,
              inset 0 0 0 1px rgba(255, 255, 255, 0.95),
              0 0 0 2px rgba(91, 33, 182, 0.1) !important;
  border-color: rgba(139, 92, 246, 0.15) !important;
}

/* 新拟物主题 - 通知背景装饰 */
body.purple-theme .ant-notification-notice::before {
  content: '' !important;
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  bottom: 0 !important;
  background: linear-gradient(135deg,
    rgba(91, 33, 182, 0.02) 0%,
    rgba(124, 58, 237, 0.01) 50%,
    rgba(255, 255, 255, 0.05) 100%) !important;
  pointer-events: none !important;
  z-index: 0 !important;
}

/* 新拟物主题 - 文字样式增强 */
body.purple-theme .ant-notification-notice-message {
  color: #0f172a !important;
  font-weight: 600 !important;
  font-size: 14px !important;
  line-height: 1.5 !important;
  position: relative !important;
  z-index: 1 !important;
  text-shadow: 0 1px 2px rgba(255, 255, 255, 0.8) !important;
}

body.purple-theme .ant-notification-notice-description {
  color: #334155 !important;
  opacity: 0.9 !important;
  font-size: 13px !important;
  line-height: 1.4 !important;
  margin-top: 4px !important;
  position: relative !important;
  z-index: 1 !important;
}

/* 新拟物主题 - 紧凑模式样式调整（色彩增强版）*/
body.purple-theme .ant-notification-notice.notification-compact {
  padding: 16px 24px !important;
  border-radius: 20px !important;
  box-shadow: 6px 6px 12px rgba(139, 92, 246, 0.06), -6px -6px 12px #ffffff,
              inset 0 0 0 1px rgba(255, 255, 255, 0.9) !important;
}

body.purple-theme .ant-notification-notice.notification-compact .ant-notification-notice-message {
  margin-bottom: 0 !important;
}

/* 新拟物主题 - 功能色彩通知样式 */
body.purple-theme .ant-notification-notice-success {
  background: linear-gradient(135deg, #f0fdf4 0%, #dcfce7 50%, #bbf7d0 100%) !important;
  border-color: rgba(5, 150, 105, 0.2) !important;
  box-shadow: 6px 6px 12px rgba(5, 150, 105, 0.08), -6px -6px 12px #ffffff,
              inset 0 0 0 1px rgba(16, 185, 129, 0.15) !important;
}

body.purple-theme .ant-notification-notice-success:hover {
  box-shadow: 8px 8px 16px rgba(5, 150, 105, 0.12), -8px -8px 16px #ffffff,
              inset 0 0 0 1px rgba(16, 185, 129, 0.2),
              0 0 0 2px rgba(5, 150, 105, 0.1) !important;
}

body.purple-theme .ant-notification-notice-warning {
  background: linear-gradient(135deg, #fffbeb 0%, #fef3c7 50%, #fde68a 100%) !important;
  border-color: rgba(217, 119, 6, 0.2) !important;
  box-shadow: 6px 6px 12px rgba(217, 119, 6, 0.08), -6px -6px 12px #ffffff,
              inset 0 0 0 1px rgba(245, 158, 11, 0.15) !important;
}

body.purple-theme .ant-notification-notice-warning:hover {
  box-shadow: 8px 8px 16px rgba(217, 119, 6, 0.12), -8px -8px 16px #ffffff,
              inset 0 0 0 1px rgba(245, 158, 11, 0.2),
              0 0 0 2px rgba(217, 119, 6, 0.1) !important;
}

body.purple-theme .ant-notification-notice-error {
  background: linear-gradient(135deg, #fef2f2 0%, #fecaca 50%, #fca5a5 100%) !important;
  border-color: rgba(220, 38, 38, 0.2) !important;
  box-shadow: 6px 6px 12px rgba(220, 38, 38, 0.08), -6px -6px 12px #ffffff,
              inset 0 0 0 1px rgba(239, 68, 68, 0.15) !important;
}

body.purple-theme .ant-notification-notice-error:hover {
  box-shadow: 8px 8px 16px rgba(220, 38, 38, 0.12), -8px -8px 16px #ffffff,
              inset 0 0 0 1px rgba(239, 68, 68, 0.2),
              0 0 0 2px rgba(220, 38, 38, 0.1) !important;
}

body.purple-theme .ant-notification-notice-info {
  background: linear-gradient(135deg, #eff6ff 0%, #dbeafe 50%, #93c5fd 100%) !important;
  border-color: rgba(37, 99, 235, 0.2) !important;
  box-shadow: 6px 6px 12px rgba(37, 99, 235, 0.08), -6px -6px 12px #ffffff,
              inset 0 0 0 1px rgba(59, 130, 246, 0.15) !important;
}

body.purple-theme .ant-notification-notice-info:hover {
  box-shadow: 8px 8px 16px rgba(37, 99, 235, 0.12), -8px -8px 16px #ffffff,
              inset 0 0 0 1px rgba(59, 130, 246, 0.2),
              0 0 0 2px rgba(37, 99, 235, 0.1) !important;
}

/* 新拟物主题 - 通知关闭按钮样式 */
body.purple-theme .ant-notification-notice-close {
  background: linear-gradient(135deg, #ffffff 0%, #f8fafc 100%) !important;
  border: 1px solid rgba(139, 92, 246, 0.08) !important;
  border-radius: 50% !important;
  width: 24px !important;
  height: 24px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  box-shadow: 2px 2px 4px rgba(139, 92, 246, 0.06), -2px -2px 4px #ffffff !important;
  transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1) !important;
  color: #64748b !important;
  position: relative !important;
  z-index: 2 !important;
}

body.purple-theme .ant-notification-notice-close:hover {
  background: linear-gradient(135deg, #f8fafc 0%, #f1f5f9 100%) !important;
  box-shadow: 3px 3px 6px rgba(139, 92, 246, 0.08), -3px -3px 6px #ffffff,
              0 0 0 1px rgba(91, 33, 182, 0.1) !important;
  color: #5b21b6 !important;
  border-color: rgba(139, 92, 246, 0.15) !important;
  transform: scale(1.1) !important;
}

body.purple-theme .ant-notification-notice-close:active {
  box-shadow: inset 1px 1px 2px rgba(139, 92, 246, 0.08), inset -1px -1px 2px #ffffff !important;
  transform: scale(1.05) !important;
}

/* 消息组件位置调整 - 避免遮盖顶栏 */
.ant-message {
  top: 88px !important; /* 默认位置：最大顶栏高度(72px) + 间距(16px) */
}

/* 不同主题下的消息位置调整 */
body:not(.purple-theme) .ant-message {
  top: 80px !important; /* 普通主题：顶栏高度(64px) + 间距(16px) */
}

body.tech-theme .ant-message {
  top: 76px !important; /* 科技主题：顶栏高度(60px) + 间距(16px) */
}

body.purple-theme .ant-message {
  top: 88px !important; /* 拟物主题：顶栏高度(72px) + 间距(16px) */
}

body.purple-theme .ant-message-notice {
  background: linear-gradient(135deg, #fefbff 0%, #f8fafc 50%, #f1f5f9 100%) !important;
  border: 1px solid rgba(139, 92, 246, 0.08) !important;
  border-radius: 20px !important;
  box-shadow: 6px 6px 12px rgba(139, 92, 246, 0.08), -6px -6px 12px #ffffff,
              inset 0 0 0 1px rgba(255, 255, 255, 0.9) !important;
  padding: 12px 20px !important;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1) !important;
  position: relative !important;
  overflow: hidden !important;
}

body.purple-theme .ant-message-notice:hover {
  box-shadow: 8px 8px 16px rgba(139, 92, 246, 0.12), -8px -8px 16px #ffffff,
              inset 0 0 0 1px rgba(255, 255, 255, 0.95),
              0 0 0 2px rgba(91, 33, 182, 0.1) !important;
  transform: translateY(-1px) !important;
  border-color: rgba(139, 92, 246, 0.15) !important;
}

/* 消息背景装饰 */
body.purple-theme .ant-message-notice::before {
  content: '' !important;
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  bottom: 0 !important;
  background: linear-gradient(135deg,
    rgba(91, 33, 182, 0.02) 0%,
    rgba(124, 58, 237, 0.01) 50%,
    rgba(255, 255, 255, 0.05) 100%) !important;
  pointer-events: none !important;
  z-index: 0 !important;
}

/* 消息内容样式 */
body.purple-theme .ant-message-notice-content {
  position: relative !important;
  z-index: 1 !important;
  color: #0f172a !important;
  font-weight: 500 !important;
  text-shadow: 0 1px 2px rgba(255, 255, 255, 0.8) !important;
}

/* 消息图标样式 */
body.purple-theme .ant-message-success .anticon {
  color: #059669 !important;
}

body.purple-theme .ant-message-error .anticon {
  color: #dc2626 !important;
}

body.purple-theme .ant-message-warning .anticon {
  color: #d97706 !important;
}

body.purple-theme .ant-message-info .anticon {
  color: #2563eb !important;
}

body.purple-theme .ant-message-loading .anticon {
  color: #5b21b6 !important;
}

/* ===== 自然绿色主题 - 统一通知样式 ===== */
body.green-theme .ant-notification-notice {
  background: linear-gradient(135deg, rgba(255, 255, 255, 0.95) 0%, rgba(240, 253, 244, 0.95) 100%) !important;
  border: 1px solid rgba(187, 247, 208, 0.8) !important;
  border-radius: 12px !important;
  box-shadow: 0 4px 6px -1px rgba(5, 150, 105, 0.1), 0 2px 4px -1px rgba(5, 150, 105, 0.06) !important;
  backdrop-filter: blur(10px) !important;
  color: #064e3b !important;
  pointer-events: auto !important;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1) !important;
}

/* 自然绿色主题 - 悬停效果 */
body.green-theme .ant-notification-notice:hover {
  transform: translateY(-2px) !important;
  border-color: rgba(5, 150, 105, 0.3) !important;
  box-shadow: 0 8px 12px -2px rgba(5, 150, 105, 0.15), 0 4px 6px -1px rgba(5, 150, 105, 0.1) !important;
}

/* 自然绿色主题 - 文字样式 */
body.green-theme .ant-notification-notice-message {
  color: #064e3b !important;
  font-weight: 600 !important;
  font-size: 14px !important;
  line-height: 1.5 !important;
}

body.green-theme .ant-notification-notice-description {
  color: #047857 !important;
  opacity: 0.9 !important;
  font-size: 13px !important;
  line-height: 1.4 !important;
  margin-top: 4px !important;
}

/* 自然绿色主题 - 紧凑模式样式调整 */
body.green-theme .ant-notification-notice.notification-compact {
  padding: 16px 20px !important;
  border-radius: 8px !important;
  box-shadow: 0 1px 3px 0 rgba(5, 150, 105, 0.1), 0 1px 2px 0 rgba(5, 150, 105, 0.06) !important;
}

body.green-theme .ant-notification-notice.notification-compact .ant-notification-notice-message {
  margin-bottom: 0 !important;
}

/* ===== 通知图标主题适配 ===== */

/* 成功通知图标 */
.ant-notification-notice-icon-success {
  color: #52c41a !important;
  font-size: 16px !important;
}

body.tech-theme .ant-notification-notice-icon-success {
  color: #00ff88 !important;
  text-shadow:
    0 0 12px rgba(0, 255, 136, 1),
    0 0 24px rgba(0, 255, 136, 0.8),
    0 0 36px rgba(0, 255, 136, 0.6) !important;
  font-size: 16px !important;
  z-index: 10 !important;
}

body.dark-theme .ant-notification-notice-icon-success {
  color: #10b981 !important;
  font-size: 16px !important;
}

body.green-theme .ant-notification-notice-icon-success {
  color: #059669 !important;
  font-size: 16px !important;
}

/* 新拟物主题通知图标 */
body.purple-theme .ant-notification-notice-icon-success {
  color: #059669 !important;
  font-size: 16px !important;
  text-shadow: 0 1px 2px rgba(255, 255, 255, 0.8) !important;
}

/* 错误通知图标 */
.ant-notification-notice-icon-error {
  color: #ff4d4f !important;
  font-size: 16px !important;
}

body.tech-theme .ant-notification-notice-icon-error {
  color: #ff3366 !important;
  text-shadow:
    0 0 12px rgba(255, 51, 102, 1),
    0 0 24px rgba(255, 51, 102, 0.8),
    0 0 36px rgba(255, 51, 102, 0.6) !important;
  font-size: 16px !important;
  z-index: 10 !important;
}

body.dark-theme .ant-notification-notice-icon-error {
  color: #ef4444 !important;
  font-size: 16px !important;
}

body.purple-theme .ant-notification-notice-icon-error {
  color: #dc2626 !important;
  font-size: 16px !important;
  text-shadow: 0 1px 2px rgba(255, 255, 255, 0.8) !important;
}

/* 警告通知图标 */
.ant-notification-notice-icon-warning {
  color: #faad14 !important;
  font-size: 16px !important;
}

body.tech-theme .ant-notification-notice-icon-warning {
  color: #ffaa00 !important;
  text-shadow:
    0 0 12px rgba(255, 170, 0, 1),
    0 0 24px rgba(255, 170, 0, 0.8),
    0 0 36px rgba(255, 170, 0, 0.6) !important;
  font-size: 16px !important;
  z-index: 10 !important;
}

body.dark-theme .ant-notification-notice-icon-warning {
  color: #f59e0b !important;
  font-size: 16px !important;
}

body.purple-theme .ant-notification-notice-icon-warning {
  color: #d97706 !important;
  font-size: 16px !important;
  text-shadow: 0 1px 2px rgba(255, 255, 255, 0.8) !important;
}

/* 信息通知图标 */
.ant-notification-notice-icon-info {
  color: #1890ff !important;
  font-size: 16px !important;
}

body.tech-theme .ant-notification-notice-icon-info {
  color: #00ccff !important;
  text-shadow:
    0 0 12px rgba(0, 204, 255, 1),
    0 0 24px rgba(0, 204, 255, 0.8),
    0 0 36px rgba(0, 204, 255, 0.6) !important;
  font-size: 16px !important;
  z-index: 10 !important;
}

body.dark-theme .ant-notification-notice-icon-info {
  color: #3b82f6 !important;
  font-size: 16px !important;
}

body.purple-theme .ant-notification-notice-icon-info {
  color: #2563eb !important;
  font-size: 16px !important;
  text-shadow: 0 1px 2px rgba(255, 255, 255, 0.8) !important;
}

/* 通知关闭按钮主题适配 */
.ant-notification-notice-close {
  color: #8c8c8c !important;
  opacity: 0.6;
}

.ant-notification-notice-close:hover {
  opacity: 1 !important;
}

body.tech-theme .ant-notification-notice-close {
  color: #ffffff !important;
  opacity: 0.8 !important;
  text-shadow: 0 0 8px rgba(14, 165, 233, 0.8) !important;
  z-index: 10 !important;
}

body.tech-theme .ant-notification-notice-close:hover {
  opacity: 1 !important;
  color: #ffffff !important;
  text-shadow: 0 0 12px rgba(14, 165, 233, 1) !important;
}

body.dark-theme .ant-notification-notice-close {
  color: #ffffff !important;
  opacity: 0.8 !important;
}

body.dark-theme .ant-notification-notice-close:hover {
  opacity: 1 !important;
  color: #ffffff !important;
}

/* 强制覆盖任何可能的文字颜色冲突 */
body.tech-theme .ant-notification-notice * {
  color: #ffffff !important;
  text-shadow:
    0 0 8px rgba(14, 165, 233, 1),
    0 0 16px rgba(14, 165, 233, 0.8),
    0 1px 2px rgba(0, 0, 0, 0.8) !important;
}

body.dark-theme .ant-notification-notice * {
  color: #ffffff !important;
  text-shadow: none !important;
}

/* ===== 科技主题动画效果 ===== */

@keyframes tech-border-flow {
  0% { background-position: 0% 50%; }
  50% { background-position: 100% 50%; }
  100% { background-position: 0% 50%; }
}

@keyframes tech-shine {
  0% { left: -100%; }
  50% { left: 100%; }
  100% { left: 100%; }
}

/* 科技主题通知悬浮效果 */
body.tech-theme .ant-notification-notice:hover {
  transform: translateY(-2px) scale(1.02) !important;
  box-shadow:
    0 0 40px rgba(14, 165, 233, 0.5),
    0 8px 16px -4px rgba(0, 0, 0, 0.5),
    inset 0 2px 0 rgba(14, 165, 233, 0.4) !important;
}

body.tech-theme .ant-notification-notice:hover::before {
  opacity: 1;
  animation-duration: 2s;
}

body.tech-theme .ant-notification-notice:hover::after {
  animation-duration: 1.5s;
}

/* 深色主题下的任务详情和列表样式 */
body.tech-theme .ant-card-head-title,
body.dark-theme .ant-card-head-title {
  color: #f1f5f9 !important;
}

body.tech-theme .ant-list-item-meta-title,
body.dark-theme .ant-list-item-meta-title {
  color: #f1f5f9 !important;
}

body.tech-theme .ant-list-item-meta-title > span,
body.dark-theme .ant-list-item-meta-title > span {
  color: #f1f5f9 !important;
}

body.tech-theme .ant-list-item-meta-description,
body.dark-theme .ant-list-item-meta-description {
  color: #cbd5e1 !important;
}

body.tech-theme .ant-list-item-meta-description > span,
body.dark-theme .ant-list-item-meta-description > span {
  color: #cbd5e1 !important;
}

/* 深色主题下的描述列表样式 */
body.tech-theme .ant-descriptions-item-label,
body.dark-theme .ant-descriptions-item-label {
  color: #cbd5e1 !important;
}

body.tech-theme .ant-descriptions-item-content,
body.dark-theme .ant-descriptions-item-content {
  color: #f1f5f9 !important;
}

/* 深色主题下的统计数字样式 */
body.tech-theme .ant-statistic-title,
body.dark-theme .ant-statistic-title {
  color: #cbd5e1 !important;
}

body.tech-theme .ant-statistic-content,
body.dark-theme .ant-statistic-content {
  color: #f1f5f9 !important;
}

/* 深色主题下的页面标题样式 */
body.tech-theme .ant-typography-title,
body.dark-theme .ant-typography-title {
  color: #f1f5f9 !important;
}

body.tech-theme .ant-typography-paragraph,
body.dark-theme .ant-typography-paragraph {
  color: #cbd5e1 !important;
}

/* 深色主题下的Alert组件样式 */
body.tech-theme .ant-alert-info,
body.dark-theme .ant-alert-info {
  background-color: rgba(59, 130, 246, 0.1) !important;
  border: 1px solid rgba(59, 130, 246, 0.3) !important;
  color: #93c5fd !important;
}

body.tech-theme .ant-alert-success,
body.dark-theme .ant-alert-success {
  background-color: rgba(34, 197, 94, 0.1) !important;
  border: 1px solid rgba(34, 197, 94, 0.3) !important;
  color: #86efac !important;
}

body.tech-theme .ant-alert-warning,
body.dark-theme .ant-alert-warning {
  background-color: rgba(245, 158, 11, 0.1) !important;
  border: 1px solid rgba(245, 158, 11, 0.3) !important;
  color: #fbbf24 !important;
}

body.tech-theme .ant-alert-error,
body.dark-theme .ant-alert-error {
  background-color: rgba(239, 68, 68, 0.1) !important;
  border: 1px solid rgba(239, 68, 68, 0.3) !important;
  color: #fca5a5 !important;
}

/* 深色主题下的下拉菜单样式 */
body.tech-theme .ant-dropdown,
body.dark-theme .ant-dropdown {
  background: rgba(30, 41, 59, 0.95) !important;
  border: 1px solid rgba(51, 65, 85, 0.8) !important;
  box-shadow: 0 10px 25px rgba(0, 0, 0, 0.4) !important;
  backdrop-filter: blur(10px) !important;
}

body.tech-theme .ant-dropdown-menu,
body.dark-theme .ant-dropdown-menu {
  background: rgba(30, 41, 59, 0.95) !important;
  border: none !important;
}

body.tech-theme .ant-dropdown-menu-item,
body.dark-theme .ant-dropdown-menu-item {
  color: #f1f5f9 !important;
}

body.tech-theme .ant-dropdown-menu-item:hover,
body.dark-theme .ant-dropdown-menu-item:hover {
  background: rgba(59, 130, 246, 0.1) !important;
  color: #93c5fd !important;
}

body.tech-theme .ant-dropdown-menu-item-divider,
body.dark-theme .ant-dropdown-menu-item-divider {
  background-color: rgba(51, 65, 85, 0.8) !important;
}

/* 深色主题下的分页器样式 */
body.tech-theme .ant-pagination-item,
body.dark-theme .ant-pagination-item {
  background: rgba(30, 41, 59, 0.8) !important;
  border: 1px solid rgba(51, 65, 85, 0.8) !important;
}

body.tech-theme .ant-pagination-item a,
body.dark-theme .ant-pagination-item a {
  color: #f1f5f9 !important;
}

body.tech-theme .ant-pagination-item:hover,
body.dark-theme .ant-pagination-item:hover {
  border-color: rgba(59, 130, 246, 0.5) !important;
  transform: translateY(-1px) !important;
  box-shadow: 0 4px 6px -1px rgba(59, 130, 246, 0.2), 0 2px 4px -1px rgba(0, 0, 0, 0.3) !important;
}

body.tech-theme .ant-pagination-item:hover a,
body.dark-theme .ant-pagination-item:hover a {
  color: #93c5fd !important;
}

body.tech-theme .ant-pagination-item-active,
body.dark-theme .ant-pagination-item-active {
  background: linear-gradient(135deg, rgba(59, 130, 246, 0.3) 0%, rgba(99, 102, 241, 0.3) 100%) !important;
  border-color: rgba(59, 130, 246, 0.5) !important;
}

body.tech-theme .ant-pagination-item-active a,
body.dark-theme .ant-pagination-item-active a {
  color: #93c5fd !important;
}

/* 深色主题下的进度条样式优化 */
body.tech-theme .ant-progress-text,
body.dark-theme .ant-progress-text {
  color: #f1f5f9 !important;
}

body.tech-theme .ant-progress-inner,
body.dark-theme .ant-progress-inner {
  background-color: rgba(51, 65, 85, 0.5) !important;
}

/* 深色主题下的统计数字样式 */
body.tech-theme .ant-statistic-title,
body.dark-theme .ant-statistic-title {
  color: #cbd5e1 !important;
}

body.tech-theme .ant-statistic-content,
body.dark-theme .ant-statistic-content {
  color: #f1f5f9 !important;
}

/* 深色主题下的进度条样式 */
body.tech-theme .ant-progress-text,
body.dark-theme .ant-progress-text {
  color: #f1f5f9 !important;
}

/* 深色主题下的头像样式 */
body.tech-theme .ant-avatar,
body.dark-theme .ant-avatar {
  background-color: rgba(30, 41, 59, 0.8) !important;
  color: #93c5fd !important;
  border: 2px solid rgba(59, 130, 246, 0.3) !important;
}

body.tech-theme .ant-avatar-circle,
body.dark-theme .ant-avatar-circle {
  border: 2px solid rgba(59, 130, 246, 0.3) !important;
}

body.tech-theme .ant-avatar-icon,
body.dark-theme .ant-avatar-icon {
  color: #93c5fd !important;
}

/* 深色主题下的Logo样式 */
body.tech-theme .logo,
body.dark-theme .logo {
  color: #f1f5f9 !important;
}

/* 深色主题下的表格行悬浮优化 */
body.tech-theme .ant-table-tbody > tr:hover > td,
body.dark-theme .ant-table-tbody > tr:hover > td {
  background-color: rgba(59, 130, 246, 0.08) !important;
  transform: none !important;
}

/* 主题字体样式 */
.theme-font-light {
  font-family: '-apple-system', 'BlinkMacSystemFont', 'SF Pro Display', 'Helvetica Neue', Arial, sans-serif !important;
}

.theme-font-dark {
  font-family: '-apple-system', 'BlinkMacSystemFont', 'Segoe UI', 'Inter', sans-serif !important;
}

.theme-font-purple {
  font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif !important;
}

.theme-font-green {
  font-family: '-apple-system', 'BlinkMacSystemFont', 'Segoe UI', 'Inter', sans-serif !important;
}

.theme-font-tech {
  font-family: '-apple-system', 'BlinkMacSystemFont', 'Segoe UI', 'Roboto', 'Inter', sans-serif !important;
  font-weight: 400 !important;
  letter-spacing: 0.025em !important;
}

/* 响应式字体大小 */
@media (max-width: 768px) {
  .theme-font-light {
    font-size: 13px !important;
  }

  .theme-font-dark {
    font-size: 12px !important;
  }

  .theme-font-purple {
    font-size: 13px !important;
  }

  .theme-font-green {
    font-size: 12px !important;
  }
}

body.dark-theme ::-webkit-scrollbar-track {
  background: #141414 !important;
}

body.dark-theme ::-webkit-scrollbar-thumb {
  background: #303030 !important;
}

body.dark-theme ::-webkit-scrollbar-thumb:hover {
  background: #404040 !important;
}

/* 新拟物主题组件样式 */
body.purple-theme .ant-avatar {
  background: #f1f5f9 !important;
  color: #6366f1 !important;
  border: none !important;
  box-shadow: 4px 4px 8px #d1d9e6, -4px -4px 8px #ffffff !important;
}

body.purple-theme .ant-progress-inner {
  background: #e2e8f0 !important;
  box-shadow: inset 2px 2px 4px #d1d9e6, inset -2px -2px 4px #ffffff !important;
}

body.purple-theme .ant-progress-bg {
  background: linear-gradient(135deg, #6366f1 0%, #8b5cf6 100%) !important;
  box-shadow: 2px 2px 4px #d1d9e6, -2px -2px 4px #ffffff !important;
}

/* 绿色主题组件样式 */
body.green-theme .ant-avatar {
  background-color: #ffffff !important;
  color: #059669 !important;
  border: 2px solid rgba(5, 150, 105, 0.2) !important;
}

body.green-theme .ant-progress-text {
  color: #064e3b !important;
}

body.green-theme .ant-progress-bg {
  background: linear-gradient(135deg, #10b981 0%, #059669 100%) !important;
}

/* 科技主题组件增强样式 */
body.tech-theme .ant-avatar {
  background: linear-gradient(135deg, rgba(14, 165, 233, 0.2) 0%, rgba(59, 130, 246, 0.2) 100%) !important;
  border: 2px solid rgba(14, 165, 233, 0.5) !important;
  box-shadow: 0 0 15px rgba(14, 165, 233, 0.3) !important;
}

body.tech-theme .ant-progress-bg {
  background: linear-gradient(90deg, #0ea5e9 0%, #3b82f6 50%, #6366f1 100%) !important;
  box-shadow: 0 0 10px rgba(14, 165, 233, 0.5) !important;
}

/* 主题切换动画 */
* {
  transition: background-color 0.3s ease, border-color 0.3s ease, color 0.3s ease;
}

/* 响应式设计 */
@media (max-width: 768px) {
  .ant-layout-sider {
    position: fixed !important;
    height: 100vh;
    z-index: 999;
  }

  .ant-layout-sider-collapsed {
    transform: translateX(-100%);
  }
}

/* Modal主题适配样式 */
.dark-modal .ant-modal-content {
  background: linear-gradient(135deg, rgba(30, 41, 59, 0.95) 0%, rgba(51, 65, 85, 0.95) 100%) !important;
  border: 1px solid rgba(71, 85, 105, 0.3) !important;
  box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.3), 0 2px 4px -1px rgba(0, 0, 0, 0.2) !important;
  backdrop-filter: blur(10px) !important;
  color: #f1f5f9 !important;
}

.dark-modal .ant-modal-header {
  background: rgba(51, 65, 85, 0.8) !important;
  border-color: rgba(71, 85, 105, 0.3) !important;
}

.dark-modal .ant-modal-title {
  color: #f1f5f9 !important;
}

.dark-modal .ant-modal-body {
  color: #f1f5f9 !important;
}

.dark-modal .ant-modal-footer {
  background: rgba(51, 65, 85, 0.8) !important;
  border-color: rgba(71, 85, 105, 0.3) !important;
}

.dark-modal .ant-btn {
  color: #f1f5f9 !important;
  border-color: rgba(71, 85, 105, 0.5) !important;
}

.dark-modal .ant-btn:hover {
  color: #93c5fd !important;
  border-color: rgba(59, 130, 246, 0.5) !important;
}

.dark-modal .ant-btn-primary {
  background: linear-gradient(135deg, #3b82f6 0%, #1d4ed8 100%) !important;
  border: none !important;
  color: #ffffff !important;
}

.dark-modal .ant-btn-primary:hover {
  background: linear-gradient(135deg, #1d4ed8 0%, #1e40af 100%) !important;
}

.dark-modal .ant-btn-dangerous {
  background: linear-gradient(135deg, #ef4444 0%, #dc2626 100%) !important;
  border: none !important;
  color: #ffffff !important;
}

.dark-modal .ant-btn-dangerous:hover {
  background: linear-gradient(135deg, #dc2626 0%, #b91c1c 100%) !important;
}

.light-modal .ant-modal-content {
  background: rgba(255, 255, 255, 0.95) !important;
  border: 1px solid rgba(0, 0, 0, 0.06) !important;
  box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06) !important;
  backdrop-filter: blur(10px) !important;
}

.light-modal .ant-modal-header {
  background: linear-gradient(135deg, rgba(255, 255, 255, 0.9) 0%, rgba(248, 250, 252, 0.9) 100%) !important;
  border-color: rgba(0, 0, 0, 0.06) !important;
}

.light-modal .ant-modal-title {
  color: #1e293b !important;
}

.light-modal .ant-modal-body {
  color: #374151 !important;
}

.light-modal .ant-modal-footer {
  background: linear-gradient(135deg, rgba(255, 255, 255, 0.9) 0%, rgba(248, 250, 252, 0.9) 100%) !important;
  border-color: rgba(0, 0, 0, 0.06) !important;
}

/* 科技主题Modal样式 */
body.tech-theme .ant-modal-content {
  background: linear-gradient(135deg, rgba(0, 20, 40, 0.95) 0%, rgba(0, 30, 60, 0.95) 100%) !important;
  border: 2px solid rgba(14, 165, 233, 0.3) !important;
  box-shadow:
    0 0 20px rgba(14, 165, 233, 0.3),
    0 4px 6px -1px rgba(0, 0, 0, 0.6) !important;
  backdrop-filter: blur(10px) !important;
  color: #ffffff !important;
  border-radius: 12px !important;
}

body.tech-theme .ant-modal-header {
  background: rgba(26, 32, 44, 0.8) !important;
  border-color: rgba(14, 165, 233, 0.2) !important;
}

body.tech-theme .ant-modal-title {
  color: #ffffff !important;
  text-shadow: 0 0 10px rgba(14, 165, 233, 0.8) !important;
}

body.tech-theme .ant-modal-body {
  color: #ffffff !important;
}

body.tech-theme .ant-modal-footer {
  background: rgba(26, 32, 44, 0.8) !important;
  border-color: rgba(14, 165, 233, 0.2) !important;
}

body.tech-theme .ant-modal .ant-btn {
  background: linear-gradient(135deg, rgba(15, 20, 25, 0.8) 0%, rgba(26, 32, 44, 0.8) 100%) !important;
  border: 1px solid rgba(14, 165, 233, 0.3) !important;
  color: #ffffff !important;
  box-shadow: 0 0 8px rgba(14, 165, 233, 0.2) !important;
}

body.tech-theme .ant-modal .ant-btn:hover {
  background: linear-gradient(135deg, rgba(14, 165, 233, 0.2) 0%, rgba(59, 130, 246, 0.2) 100%) !important;
  border-color: rgba(14, 165, 233, 0.5) !important;
  box-shadow: 0 0 12px rgba(14, 165, 233, 0.4) !important;
}

body.tech-theme .ant-modal .ant-btn-primary {
  background: linear-gradient(135deg, #0ea5e9 0%, #3b82f6 100%) !important;
  border: 2px solid rgba(14, 165, 233, 0.5) !important;
  color: #ffffff !important;
  box-shadow: 0 0 15px rgba(14, 165, 233, 0.4) !important;
}

body.tech-theme .ant-modal .ant-btn-primary:hover {
  background: linear-gradient(135deg, #3b82f6 0%, #6366f1 100%) !important;
  box-shadow: 0 0 25px rgba(14, 165, 233, 0.6) !important;
}

body.tech-theme .ant-modal .ant-btn-dangerous {
  background: linear-gradient(135deg, #ef4444 0%, #dc2626 100%) !important;
  border: 2px solid rgba(239, 68, 68, 0.5) !important;
  color: #ffffff !important;
  box-shadow: 0 0 15px rgba(239, 68, 68, 0.4) !important;
}

body.tech-theme .ant-modal .ant-btn-dangerous:hover {
  background: linear-gradient(135deg, #dc2626 0%, #b91c1c 100%) !important;
  box-shadow: 0 0 25px rgba(239, 68, 68, 0.6) !important;
}

/* 紫色主题Modal样式 */
body.purple-theme .ant-modal-content {
  background: #f1f5f9 !important;
  border: none !important;
  box-shadow: 12px 12px 24px #d1d9e6, -12px -12px 24px #ffffff !important;
  border-radius: 28px !important;
}

body.purple-theme .ant-modal-header {
  background: #f1f5f9 !important;
  border: none !important;
  box-shadow: inset 4px 4px 8px #d1d9e6, inset -4px -4px 8px #ffffff !important;
}

body.purple-theme .ant-modal-footer {
  background: #f1f5f9 !important;
  border: none !important;
  box-shadow: inset 4px 4px 8px #d1d9e6, inset -4px -4px 8px #ffffff !important;
}

body.purple-theme .ant-modal .ant-btn {
  background: #f1f5f9 !important;
  border: none !important;
  box-shadow: 6px 6px 12px #d1d9e6, -6px -6px 12px #ffffff !important;
  border-radius: 20px !important;
}

body.purple-theme .ant-modal .ant-btn:hover {
  box-shadow: 8px 8px 16px #d1d9e6, -8px -8px 16px #ffffff !important;
}

body.purple-theme .ant-modal .ant-btn-primary {
  background: linear-gradient(135deg, #6366f1 0%, #8b5cf6 100%) !important;
  color: #ffffff !important;
  box-shadow: 6px 6px 12px #d1d9e6, -6px -6px 12px #ffffff, inset 2px 2px 4px rgba(255, 255, 255, 0.3) !important;
}

body.purple-theme .ant-modal .ant-btn-primary:hover {
  box-shadow: 8px 8px 16px #d1d9e6, -8px -8px 16px #ffffff, inset 3px 3px 6px rgba(255, 255, 255, 0.3) !important;
}

/* 绿色主题Modal样式 */
body.green-theme .ant-modal-content {
  background: linear-gradient(135deg, rgba(255, 255, 255, 0.95) 0%, rgba(240, 253, 244, 0.95) 100%) !important;
  border: 1px solid rgba(187, 247, 208, 0.5) !important;
  box-shadow: 0 1px 3px 0 rgba(5, 150, 105, 0.1), 0 1px 2px 0 rgba(5, 150, 105, 0.06) !important;
  backdrop-filter: blur(10px) !important;
}

body.green-theme .ant-modal-header {
  background: linear-gradient(135deg, rgba(255, 255, 255, 0.9) 0%, rgba(240, 253, 244, 0.9) 100%) !important;
  border-color: rgba(187, 247, 208, 0.5) !important;
}

body.green-theme .ant-modal-footer {
  background: linear-gradient(135deg, rgba(255, 255, 255, 0.9) 0%, rgba(240, 253, 244, 0.9) 100%) !important;
  border-color: rgba(187, 247, 208, 0.5) !important;
}

body.green-theme .ant-modal .ant-btn-primary {
  background: linear-gradient(135deg, #059669 0%, #047857 100%) !important;
  border: none !important;
  color: #ffffff !important;
  box-shadow: 0 2px 4px rgba(5, 150, 105, 0.3) !important;
}

body.green-theme .ant-modal .ant-btn-primary:hover {
  background: linear-gradient(135deg, #047857 0%, #065f46 100%) !important;
  box-shadow: 0 4px 8px rgba(5, 150, 105, 0.4) !important;
}
